diff --git a/_flat_buffer_builder_8cs.html b/_flat_buffer_builder_8cs.html
new file mode 100644
index 0000000000000000000000000000000000000000..3dd9c1d00d1e2077214643373c14546709f67ad8
--- /dev/null
+++ b/_flat_buffer_builder_8cs.html
@@ -0,0 +1,143 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: FlatBufferBuilder.cs File 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('_flat_buffer_builder_8cs.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">FlatBufferBuilder.cs File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Responsible for building up and accessing a FlatBuffer formatted byte array (via ByteBuffer).  <a href="class_flat_buffers_1_1_flat_buffer_builder.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_flat_buffers"><td class="memItemLeft" align="right" valign="top">package &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_flat_buffers.html">FlatBuffers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/_flat_buffer_builder_8java.html b/_flat_buffer_builder_8java.html
new file mode 100644
index 0000000000000000000000000000000000000000..cd902a4c3ff752c8c4b86dd67bfe90c6a4338038
--- /dev/null
+++ b/_flat_buffer_builder_8java.html
@@ -0,0 +1,137 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: FlatBufferBuilder.java File 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('_flat_buffer_builder_8java.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">FlatBufferBuilder.java File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that helps you build a FlatBuffer.  <a href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/_flatbuffer_builder_8php.html b/_flatbuffer_builder_8php.html
new file mode 100644
index 0000000000000000000000000000000000000000..2ac1028904462d999743065393a050ce349676d4
--- /dev/null
+++ b/_flatbuffer_builder_8php.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: FlatbufferBuilder.php File 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('_flatbuffer_builder_8php.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">FlatbufferBuilder.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/annotated.html b/annotated.html
new file mode 100644
index 0000000000000000000000000000000000000000..ac3e22cfff9ccc2f622435ee8b4baf91c62e8eab
--- /dev/null
+++ b/annotated.html
@@ -0,0 +1,156 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Class List</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('annotated.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Class List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>com</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>google</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>flatbuffers</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html" target="_self">FlatBufferBuilder</a></td><td class="desc">Class that helps you build a FlatBuffer </td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>flatbuffers</b></td><td class="desc"></td></tr>
+<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html" target="_self">FlatBufferBuilder</a></td><td class="desc">Helper class to hold data needed in creation of a FlatBuffer </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_flat_buffers.html" target="_self">FlatBuffers</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html" target="_self">FlatBufferBuilder</a></td><td class="desc">Responsible for building up and accessing a FlatBuffer formatted byte array (via ByteBuffer) </td></tr>
+<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Google</b></td><td class="desc"></td></tr>
+<tr id="row_3_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_3_0_" class="arrow" onclick="toggleFolder('3_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>FlatBuffers</b></td><td class="desc"></td></tr>
+<tr id="row_3_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html" target="_self">FlatbufferBuilder</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/annotated.js b/annotated.js
new file mode 100644
index 0000000000000000000000000000000000000000..c5c2cfbdd681f55c1790fc05e6cf1bc83ba706cb
--- /dev/null
+++ b/annotated.js
@@ -0,0 +1,19 @@
+var annotated =
+[
+    [ "com", null, [
+      [ "google", null, [
+        [ "flatbuffers", null, [
+          [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder" ]
+        ] ]
+      ] ]
+    ] ],
+    [ "flatbuffers", null, [
+      [ "FlatBufferBuilder", "classflatbuffers_1_1_flat_buffer_builder.html", "classflatbuffers_1_1_flat_buffer_builder" ]
+    ] ],
+    [ "FlatBuffers", "namespace_flat_buffers.html", "namespace_flat_buffers" ],
+    [ "Google", null, [
+      [ "FlatBuffers", null, [
+        [ "FlatbufferBuilder", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder" ]
+      ] ]
+    ] ]
+];
\ No newline at end of file
diff --git a/class_flat_buffers_1_1_flat_buffer_builder-members.html b/class_flat_buffers_1_1_flat_buffer_builder-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..ac259e3ea55b55eff5248223ce3acb88e7aaf16b
--- /dev/null
+++ b/class_flat_buffers_1_1_flat_buffer_builder-members.html
@@ -0,0 +1,164 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Member List</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('class_flat_buffers_1_1_flat_buffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">FlatBuffers.FlatBufferBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e">AddBool</a>(bool x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254">AddByte</a>(byte x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094">AddDouble</a>(double x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf">AddFloat</a>(float x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9">AddInt</a>(int x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893">AddLong</a>(long x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5">AddOffset</a>(int off)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707">AddSbyte</a>(sbyte x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb">AddShort</a>(short x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa">AddUint</a>(uint x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515">AddUlong</a>(ulong x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f">AddUshort</a>(ushort x)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6">Clear</a>()</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070">CreateString</a>(string s)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211">DataBuffer</a></td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41">EndVector</a>()</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b">Finish</a>(int rootTable)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ac7a48fd125d3f65f1bc1bc67d74eae73">Finish</a>(int rootTable, string fileIdentifier)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d">FlatBufferBuilder</a>(int initialSize)</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2">SizedByteArray</a>()</td><td class="entry"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/class_flat_buffers_1_1_flat_buffer_builder.html b/class_flat_buffers_1_1_flat_buffer_builder.html
new file mode 100644
index 0000000000000000000000000000000000000000..96a20e89d6683b4c2010427e084ea0fd124104d1
--- /dev/null
+++ b/class_flat_buffers_1_1_flat_buffer_builder.html
@@ -0,0 +1,847 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: FlatBuffers.FlatBufferBuilder Class 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('class_flat_buffers_1_1_flat_buffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#properties">Properties</a> &#124;
+<a href="class_flat_buffers_1_1_flat_buffer_builder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">FlatBuffers.FlatBufferBuilder Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Responsible for building up and accessing a FlatBuffer formatted byte array (via ByteBuffer).  
+ <a href="class_flat_buffers_1_1_flat_buffer_builder.html#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Responsible for building up and accessing a FlatBuffer formatted byte array (via ByteBuffer). </p>
+</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:a6b66d785555d19cd0f141978eff78e2e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e">AddBool</a> (bool x)</td></tr>
+<tr class="memdesc:a6b66d785555d19cd0f141978eff78e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>bool</code> to the buffer (aligns the data and grows if necessary).  <a href="#a6b66d785555d19cd0f141978eff78e2e">More...</a><br /></td></tr>
+<tr class="separator:a6b66d785555d19cd0f141978eff78e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac11b10888152d4f687e8ce4d60022254"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254">AddByte</a> (byte x)</td></tr>
+<tr class="memdesc:ac11b10888152d4f687e8ce4d60022254"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>byte</code> to the buffer (aligns the data and grows if necessary).  <a href="#ac11b10888152d4f687e8ce4d60022254">More...</a><br /></td></tr>
+<tr class="separator:ac11b10888152d4f687e8ce4d60022254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef6feaf282148043e6a1c9c1ba9e2094"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094">AddDouble</a> (double x)</td></tr>
+<tr class="memdesc:aef6feaf282148043e6a1c9c1ba9e2094"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>double</code> to the buffer (aligns the data and grows if necessary).  <a href="#aef6feaf282148043e6a1c9c1ba9e2094">More...</a><br /></td></tr>
+<tr class="separator:aef6feaf282148043e6a1c9c1ba9e2094"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a1e6f7e7b9098a9d8c1af7157ef2bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf">AddFloat</a> (float x)</td></tr>
+<tr class="memdesc:a41a1e6f7e7b9098a9d8c1af7157ef2bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>float</code> to the buffer (aligns the data and grows if necessary).  <a href="#a41a1e6f7e7b9098a9d8c1af7157ef2bf">More...</a><br /></td></tr>
+<tr class="separator:a41a1e6f7e7b9098a9d8c1af7157ef2bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7970bfc069caeee5dfd994e6c1106ab9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9">AddInt</a> (int x)</td></tr>
+<tr class="memdesc:a7970bfc069caeee5dfd994e6c1106ab9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int</code> to the buffer (aligns the data and grows if necessary).  <a href="#a7970bfc069caeee5dfd994e6c1106ab9">More...</a><br /></td></tr>
+<tr class="separator:a7970bfc069caeee5dfd994e6c1106ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d182e151b4f57d47069885cc1d05893"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893">AddLong</a> (long x)</td></tr>
+<tr class="memdesc:a0d182e151b4f57d47069885cc1d05893"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>long</code> to the buffer (aligns the data and grows if necessary).  <a href="#a0d182e151b4f57d47069885cc1d05893">More...</a><br /></td></tr>
+<tr class="separator:a0d182e151b4f57d47069885cc1d05893"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1d6d927d400c330cae48951eae546e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5">AddOffset</a> (int off)</td></tr>
+<tr class="memdesc:ae1d6d927d400c330cae48951eae546e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an offset, relative to where it will be written.  <a href="#ae1d6d927d400c330cae48951eae546e5">More...</a><br /></td></tr>
+<tr class="separator:ae1d6d927d400c330cae48951eae546e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b2addc87bde29213424a187b7b08707"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707">AddSbyte</a> (sbyte x)</td></tr>
+<tr class="memdesc:a0b2addc87bde29213424a187b7b08707"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>sbyte</code> to the buffer (aligns the data and grows if necessary).  <a href="#a0b2addc87bde29213424a187b7b08707">More...</a><br /></td></tr>
+<tr class="separator:a0b2addc87bde29213424a187b7b08707"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93b38c262a248e625ea3719dddf903eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb">AddShort</a> (short x)</td></tr>
+<tr class="memdesc:a93b38c262a248e625ea3719dddf903eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>short</code> to the buffer (aligns the data and grows if necessary).  <a href="#a93b38c262a248e625ea3719dddf903eb">More...</a><br /></td></tr>
+<tr class="separator:a93b38c262a248e625ea3719dddf903eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef3581dee532ab763b99947ca43ddcfa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa">AddUint</a> (uint x)</td></tr>
+<tr class="memdesc:aef3581dee532ab763b99947ca43ddcfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>uint</code> to the buffer (aligns the data and grows if necessary).  <a href="#aef3581dee532ab763b99947ca43ddcfa">More...</a><br /></td></tr>
+<tr class="separator:aef3581dee532ab763b99947ca43ddcfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9cc4371456b85d6393958ab56cbc515"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515">AddUlong</a> (ulong x)</td></tr>
+<tr class="memdesc:aa9cc4371456b85d6393958ab56cbc515"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>ulong</code> to the buffer (aligns the data and grows if necessary).  <a href="#aa9cc4371456b85d6393958ab56cbc515">More...</a><br /></td></tr>
+<tr class="separator:aa9cc4371456b85d6393958ab56cbc515"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52c19b3daa97b0272da0dd7121b2ff5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f">AddUshort</a> (ushort x)</td></tr>
+<tr class="memdesc:a52c19b3daa97b0272da0dd7121b2ff5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>ushort</code> to the buffer (aligns the data and grows if necessary).  <a href="#a52c19b3daa97b0272da0dd7121b2ff5f">More...</a><br /></td></tr>
+<tr class="separator:a52c19b3daa97b0272da0dd7121b2ff5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74ed0e43043c6e486dbe40b0d2ff63d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6">Clear</a> ()</td></tr>
+<tr class="memdesc:a74ed0e43043c6e486dbe40b0d2ff63d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the FlatBufferBuilder by purging all data that it holds.  <a href="#a74ed0e43043c6e486dbe40b0d2ff63d6">More...</a><br /></td></tr>
+<tr class="separator:a74ed0e43043c6e486dbe40b0d2ff63d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b6e42519f278e4a060895633d048070"><td class="memItemLeft" align="right" valign="top">StringOffset&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070">CreateString</a> (string s)</td></tr>
+<tr class="memdesc:a3b6e42519f278e4a060895633d048070"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode the string <code>s</code> in the buffer using UTF-8.  <a href="#a3b6e42519f278e4a060895633d048070">More...</a><br /></td></tr>
+<tr class="separator:a3b6e42519f278e4a060895633d048070"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cacff748cbf996b52de2e31e731af41"><td class="memItemLeft" align="right" valign="top">VectorOffset&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41">EndVector</a> ()</td></tr>
+<tr class="memdesc:a7cacff748cbf996b52de2e31e731af41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data necessary to finish a vector construction.  <a href="#a7cacff748cbf996b52de2e31e731af41">More...</a><br /></td></tr>
+<tr class="separator:a7cacff748cbf996b52de2e31e731af41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1afc6853539aaff7ac6937ed03ff5c7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b">Finish</a> (int rootTable)</td></tr>
+<tr class="memdesc:a1afc6853539aaff7ac6937ed03ff5c7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize a buffer, pointing to the given <code>root_table</code>.  <a href="#a1afc6853539aaff7ac6937ed03ff5c7b">More...</a><br /></td></tr>
+<tr class="separator:a1afc6853539aaff7ac6937ed03ff5c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a48fd125d3f65f1bc1bc67d74eae73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ac7a48fd125d3f65f1bc1bc67d74eae73">Finish</a> (int rootTable, string fileIdentifier)</td></tr>
+<tr class="memdesc:ac7a48fd125d3f65f1bc1bc67d74eae73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize a buffer, pointing to the given <code>rootTable</code>.  <a href="#ac7a48fd125d3f65f1bc1bc67d74eae73">More...</a><br /></td></tr>
+<tr class="separator:ac7a48fd125d3f65f1bc1bc67d74eae73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae24f93e3f9672846dd241d585d62c63d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d">FlatBufferBuilder</a> (int initialSize)</td></tr>
+<tr class="memdesc:ae24f93e3f9672846dd241d585d62c63d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a FlatBufferBuilder with a given initial size.  <a href="#ae24f93e3f9672846dd241d585d62c63d">More...</a><br /></td></tr>
+<tr class="separator:ae24f93e3f9672846dd241d585d62c63d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfd2f4e19cf51f62290a0272683f23b2"><td class="memItemLeft" align="right" valign="top">byte[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2">SizedByteArray</a> ()</td></tr>
+<tr class="memdesc:abfd2f4e19cf51f62290a0272683f23b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility function to copy and return the ByteBuffer data as a <code>byte[]</code>.  <a href="#abfd2f4e19cf51f62290a0272683f23b2">More...</a><br /></td></tr>
+<tr class="separator:abfd2f4e19cf51f62290a0272683f23b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
+Properties</h2></td></tr>
+<tr class="memitem:a6f0cbd075878e2c0f021c0947cc8a211"><td class="memItemLeft" align="right" valign="top">ByteBuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211">DataBuffer</a><code> [get]</code></td></tr>
+<tr class="memdesc:a6f0cbd075878e2c0f021c0947cc8a211"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ByteBuffer representing the FlatBuffer.  <a href="#a6f0cbd075878e2c0f021c0947cc8a211">More...</a><br /></td></tr>
+<tr class="separator:a6f0cbd075878e2c0f021c0947cc8a211"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae24f93e3f9672846dd241d585d62c63d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">FlatBuffers.FlatBufferBuilder.FlatBufferBuilder </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>initialSize</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create a FlatBufferBuilder with a given initial size. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">initialSize</td><td>The initial size to use for the internal buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a6b66d785555d19cd0f141978eff78e2e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddBool </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>bool</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>bool</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac11b10888152d4f687e8ce4d60022254"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddByte </td>
+          <td>(</td>
+          <td class="paramtype">byte&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>byte</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>byte</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aef6feaf282148043e6a1c9c1ba9e2094"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddDouble </td>
+          <td>(</td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>double</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>double</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a41a1e6f7e7b9098a9d8c1af7157ef2bf"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddFloat </td>
+          <td>(</td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>float</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>float</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a7970bfc069caeee5dfd994e6c1106ab9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddInt </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add an <code>int</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>int</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0d182e151b4f57d47069885cc1d05893"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddLong </td>
+          <td>(</td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>long</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>long</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae1d6d927d400c330cae48951eae546e5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddOffset </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>off</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Adds an offset, relative to where it will be written. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">off</td><td>The offset to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0b2addc87bde29213424a187b7b08707"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddSbyte </td>
+          <td>(</td>
+          <td class="paramtype">sbyte&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>sbyte</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>sbyte</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a93b38c262a248e625ea3719dddf903eb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddShort </td>
+          <td>(</td>
+          <td class="paramtype">short&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>short</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>short</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aef3581dee532ab763b99947ca43ddcfa"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddUint </td>
+          <td>(</td>
+          <td class="paramtype">uint&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add an <code>uint</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>uint</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aa9cc4371456b85d6393958ab56cbc515"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddUlong </td>
+          <td>(</td>
+          <td class="paramtype">ulong&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add an <code>ulong</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>ulong</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a52c19b3daa97b0272da0dd7121b2ff5f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.AddUshort </td>
+          <td>(</td>
+          <td class="paramtype">ushort&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add an <code>ushort</code> to the buffer (aligns the data and grows if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The <code>ushort</code> to add to the buffer.</td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a74ed0e43043c6e486dbe40b0d2ff63d6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.Clear </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reset the FlatBufferBuilder by purging all data that it holds. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3b6e42519f278e4a060895633d048070"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">StringOffset FlatBuffers.FlatBufferBuilder.CreateString </td>
+          <td>(</td>
+          <td class="paramtype">string&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Encode the string <code>s</code> in the buffer using UTF-8. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">s</td><td>The string to encode.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The offset in the buffer where the encoded string starts. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7cacff748cbf996b52de2e31e731af41"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">VectorOffset FlatBuffers.FlatBufferBuilder.EndVector </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Writes data necessary to finish a vector construction. </p>
+
+</div>
+</div>
+<a class="anchor" id="a1afc6853539aaff7ac6937ed03ff5c7b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.Finish </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>rootTable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Finalize a buffer, pointing to the given <code>root_table</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">rootTable</td><td>An offset to be added to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac7a48fd125d3f65f1bc1bc67d74eae73"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FlatBuffers.FlatBufferBuilder.Finish </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>rootTable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">string&#160;</td>
+          <td class="paramname"><em>fileIdentifier</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Finalize a buffer, pointing to the given <code>rootTable</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">rootTable</td><td>An offset to be added to the buffer. </td></tr>
+    <tr><td class="paramname">fileIdentifier</td><td>A FlatBuffer file identifier to be added to the buffer before <code>root_table</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="abfd2f4e19cf51f62290a0272683f23b2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">byte [] FlatBuffers.FlatBufferBuilder.SizedByteArray </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A utility function to copy and return the ByteBuffer data as a <code>byte[]</code>. </p>
+<dl class="section return"><dt>Returns</dt><dd>A full copy of the FlatBuffer data. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Property Documentation</h2>
+<a class="anchor" id="a6f0cbd075878e2c0f021c0947cc8a211"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">ByteBuffer FlatBuffers.FlatBufferBuilder.DataBuffer</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the ByteBuffer representing the FlatBuffer. </p>
+<p>This is typically only called after you call <code>Finish()</code>. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns the ByteBuffer for this FlatBuffer. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="_flat_buffer_builder_8cs.html">FlatBufferBuilder.cs</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/class_flat_buffers_1_1_flat_buffer_builder.js b/class_flat_buffers_1_1_flat_buffer_builder.js
new file mode 100644
index 0000000000000000000000000000000000000000..816b583f22f13c67f33dae3efdb87e0a258bf99f
--- /dev/null
+++ b/class_flat_buffers_1_1_flat_buffer_builder.js
@@ -0,0 +1,23 @@
+var class_flat_buffers_1_1_flat_buffer_builder =
+[
+    [ "FlatBufferBuilder", "class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d", null ],
+    [ "AddBool", "class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e", null ],
+    [ "AddByte", "class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254", null ],
+    [ "AddDouble", "class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094", null ],
+    [ "AddFloat", "class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf", null ],
+    [ "AddInt", "class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9", null ],
+    [ "AddLong", "class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893", null ],
+    [ "AddOffset", "class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5", null ],
+    [ "AddSbyte", "class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707", null ],
+    [ "AddShort", "class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb", null ],
+    [ "AddUint", "class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa", null ],
+    [ "AddUlong", "class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515", null ],
+    [ "AddUshort", "class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f", null ],
+    [ "Clear", "class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6", null ],
+    [ "CreateString", "class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070", null ],
+    [ "EndVector", "class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41", null ],
+    [ "Finish", "class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b", null ],
+    [ "Finish", "class_flat_buffers_1_1_flat_buffer_builder.html#ac7a48fd125d3f65f1bc1bc67d74eae73", null ],
+    [ "SizedByteArray", "class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2", null ],
+    [ "DataBuffer", "class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211", null ]
+];
\ No newline at end of file
diff --git a/class_google_1_1_flat_buffers_1_1_flatbuffer_builder-members.html b/class_google_1_1_flat_buffers_1_1_flatbuffer_builder-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..fdb1f9990e946de539a00de62f5fae832cd56133
--- /dev/null
+++ b/class_google_1_1_flat_buffers_1_1_flatbuffer_builder-members.html
@@ -0,0 +1,163 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Member List</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Google\FlatBuffers\FlatbufferBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b">$bb</a></td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4">__construct</a>($initial_size)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e">addBool</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc">addByte</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86">addDouble</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404">addFloat</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0">addInt</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70">addLong</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934">addOffset</a>($off)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6">addSbyte</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5">addShort</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c">addUint</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826">addUlong</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42">addUshort</a>($x)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f">createString</a>($s)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f">dataBuffer</a>()</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5">finish</a>($root_table, $identifier=null)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f">forceDefaults</a>($forceDefaults)</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4">sizedByteArray</a>()</td><td class="entry"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html b/class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html
new file mode 100644
index 0000000000000000000000000000000000000000..bb1b950bf503ae820f155b1ef6e9df56283cf737
--- /dev/null
+++ b/class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html
@@ -0,0 +1,665 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Google\FlatBuffers\FlatbufferBuilder Class 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#pub-attribs">Public Attributes</a> &#124;
+<a href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Google\FlatBuffers\FlatbufferBuilder Class Reference<div class="ingroups"><a class="el" href="group__flatbuffers__php__api.html">PHP API</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<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:a5aa5323732b1efe0da24fa235a40f5d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4">__construct</a> ($initial_size)</td></tr>
+<tr class="memdesc:a5aa5323732b1efe0da24fa235a40f5d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a FlatBufferBuilder with a given initial size.  <a href="#a5aa5323732b1efe0da24fa235a40f5d4">More...</a><br /></td></tr>
+<tr class="separator:a5aa5323732b1efe0da24fa235a40f5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a723a1053d3a17d5433c37bdbd015844e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e">addBool</a> ($x)</td></tr>
+<tr class="memdesc:a723a1053d3a17d5433c37bdbd015844e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>bool</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a723a1053d3a17d5433c37bdbd015844e">More...</a><br /></td></tr>
+<tr class="separator:a723a1053d3a17d5433c37bdbd015844e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b78098530190cb90d315419fb1d21fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc">addByte</a> ($x)</td></tr>
+<tr class="memdesc:a7b78098530190cb90d315419fb1d21fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>byte</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a7b78098530190cb90d315419fb1d21fc">More...</a><br /></td></tr>
+<tr class="separator:a7b78098530190cb90d315419fb1d21fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23a5478774e8909117d31b62dde51e86"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86">addDouble</a> ($x)</td></tr>
+<tr class="memdesc:a23a5478774e8909117d31b62dde51e86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>double</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a23a5478774e8909117d31b62dde51e86">More...</a><br /></td></tr>
+<tr class="separator:a23a5478774e8909117d31b62dde51e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ce6215b65e222b8ee22d3eb4436e404"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404">addFloat</a> ($x)</td></tr>
+<tr class="memdesc:a5ce6215b65e222b8ee22d3eb4436e404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>float</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a5ce6215b65e222b8ee22d3eb4436e404">More...</a><br /></td></tr>
+<tr class="separator:a5ce6215b65e222b8ee22d3eb4436e404"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63c9d66329dff15855d11c89134599e0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0">addInt</a> ($x)</td></tr>
+<tr class="memdesc:a63c9d66329dff15855d11c89134599e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a63c9d66329dff15855d11c89134599e0">More...</a><br /></td></tr>
+<tr class="separator:a63c9d66329dff15855d11c89134599e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8875bff7ef67af16938cabe719ceac70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70">addLong</a> ($x)</td></tr>
+<tr class="memdesc:a8875bff7ef67af16938cabe719ceac70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>long</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a8875bff7ef67af16938cabe719ceac70">More...</a><br /></td></tr>
+<tr class="separator:a8875bff7ef67af16938cabe719ceac70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a127fe515651f4b4347ea8e01b3951934"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934">addOffset</a> ($off)</td></tr>
+<tr class="memdesc:a127fe515651f4b4347ea8e01b3951934"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds on offset, relative to where it will be written.  <a href="#a127fe515651f4b4347ea8e01b3951934">More...</a><br /></td></tr>
+<tr class="separator:a127fe515651f4b4347ea8e01b3951934"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6add2b19644657fbe0925cb0238618c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6">addSbyte</a> ($x)</td></tr>
+<tr class="memdesc:a6add2b19644657fbe0925cb0238618c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>signed byte</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a6add2b19644657fbe0925cb0238618c6">More...</a><br /></td></tr>
+<tr class="separator:a6add2b19644657fbe0925cb0238618c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e11aa1f080749100de6e153e88f9dd5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5">addShort</a> ($x)</td></tr>
+<tr class="memdesc:a1e11aa1f080749100de6e153e88f9dd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>short</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a1e11aa1f080749100de6e153e88f9dd5">More...</a><br /></td></tr>
+<tr class="separator:a1e11aa1f080749100de6e153e88f9dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f4a37444fca01dcbd0922d18cf2be5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c">addUint</a> ($x)</td></tr>
+<tr class="memdesc:a6f4a37444fca01dcbd0922d18cf2be5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>unsigned int</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a6f4a37444fca01dcbd0922d18cf2be5c">More...</a><br /></td></tr>
+<tr class="separator:a6f4a37444fca01dcbd0922d18cf2be5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01be3a805c221796997b023b64e90826"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826">addUlong</a> ($x)</td></tr>
+<tr class="memdesc:a01be3a805c221796997b023b64e90826"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>unsigned long</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a01be3a805c221796997b023b64e90826">More...</a><br /></td></tr>
+<tr class="separator:a01be3a805c221796997b023b64e90826"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a570a0024a8a54e2f73374c94b8fa6c42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42">addUshort</a> ($x)</td></tr>
+<tr class="memdesc:a570a0024a8a54e2f73374c94b8fa6c42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>unsigned short</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a570a0024a8a54e2f73374c94b8fa6c42">More...</a><br /></td></tr>
+<tr class="separator:a570a0024a8a54e2f73374c94b8fa6c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac54a8acfac1dda020b610da53b2d9a0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f">createString</a> ($s)</td></tr>
+<tr class="memdesc:ac54a8acfac1dda020b610da53b2d9a0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode the string <code>$s</code> in the buffer using UTF-8.  <a href="#ac54a8acfac1dda020b610da53b2d9a0f">More...</a><br /></td></tr>
+<tr class="separator:ac54a8acfac1dda020b610da53b2d9a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7e97c2d21da04ef483e6940d442938f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f">dataBuffer</a> ()</td></tr>
+<tr class="memdesc:ae7e97c2d21da04ef483e6940d442938f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ByteBuffer representing the FlatBuffer.  <a href="#ae7e97c2d21da04ef483e6940d442938f">More...</a><br /></td></tr>
+<tr class="separator:ae7e97c2d21da04ef483e6940d442938f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a799f0d1cf0fff359d6d04768108cb2a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5">finish</a> ($root_table, $identifier=null)</td></tr>
+<tr class="memdesc:a799f0d1cf0fff359d6d04768108cb2a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize a buffer, pointing to the given <code>$root_table</code>.  <a href="#a799f0d1cf0fff359d6d04768108cb2a5">More...</a><br /></td></tr>
+<tr class="separator:a799f0d1cf0fff359d6d04768108cb2a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d75bca1a17d58bb6e383a73761ba45f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f">forceDefaults</a> ($forceDefaults)</td></tr>
+<tr class="memdesc:a5d75bca1a17d58bb6e383a73761ba45f"><td class="mdescLeft">&#160;</td><td class="mdescRight">In order to save space, fields that are set to their default value don't get serialized into the buffer.  <a href="#a5d75bca1a17d58bb6e383a73761ba45f">More...</a><br /></td></tr>
+<tr class="separator:a5d75bca1a17d58bb6e383a73761ba45f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a967e7dc8f051d4e73b3155e3b281d7b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4">sizedByteArray</a> ()</td></tr>
+<tr class="memdesc:a967e7dc8f051d4e73b3155e3b281d7b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function to copy and return the FlatBuffer data from the underlying ByteBuffer.  <a href="#a967e7dc8f051d4e73b3155e3b281d7b4">More...</a><br /></td></tr>
+<tr class="separator:a967e7dc8f051d4e73b3155e3b281d7b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:aa01f9205792614930138e19d3e310b7b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa01f9205792614930138e19d3e310b7b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b">$bb</a></td></tr>
+<tr class="memdesc:aa01f9205792614930138e19d3e310b7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal ByteBuffer for the FlatBuffer data. <br /></td></tr>
+<tr class="separator:aa01f9205792614930138e19d3e310b7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5aa5323732b1efe0da24fa235a40f5d4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::__construct </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$initial_size</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a FlatBufferBuilder with a given initial size. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$initial_size</td><td>initial byte buffer size. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a723a1053d3a17d5433c37bdbd015844e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addBool </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a <code>bool</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>bool</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a7b78098530190cb90d315419fb1d21fc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addByte </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a <code>byte</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>byte</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a23a5478774e8909117d31b62dde51e86"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addDouble </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a <code>double</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>double</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5ce6215b65e222b8ee22d3eb4436e404"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addFloat </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a <code>float</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>float</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a63c9d66329dff15855d11c89134599e0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addInt </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add an <code>int</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>int</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8875bff7ef67af16938cabe719ceac70"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addLong </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a <code>long</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>long</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a127fe515651f4b4347ea8e01b3951934"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addOffset </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$off</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Adds on offset, relative to where it will be written. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$off</td><td>The offset to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname"></td><td>Exception Throws an exception if <code>$off</code> is greater than the underlying ByteBuffer's offest. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a6add2b19644657fbe0925cb0238618c6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addSbyte </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a <code>signed byte</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>signed byte</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1e11aa1f080749100de6e153e88f9dd5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addShort </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a <code>short</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>short</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a6f4a37444fca01dcbd0922d18cf2be5c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addUint </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add an <code>unsigned int</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>unsigned int</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a01be3a805c221796997b023b64e90826"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addUlong </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add an <code>unsigned long</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>unsigned long</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a570a0024a8a54e2f73374c94b8fa6c42"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::addUshort </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add an <code>unsigned short</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$x</td><td>The <code>unsigned short</code> to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac54a8acfac1dda020b610da53b2d9a0f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::createString </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Encode the string <code>$s</code> in the buffer using UTF-8. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$s</td><td>The string to encode. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>int The offset in the buffer where the encoded string starts. </dd></dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname">InvalidArgumentException</td><td>Thrown if the input string <code>$s</code> is not UTF-8. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae7e97c2d21da04ef483e6940d442938f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::dataBuffer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the ByteBuffer representing the FlatBuffer. </p>
+<dl class="section return"><dt>Returns</dt><dd>ByteBuffer The ByteBuffer containing the FlatBuffer data. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a799f0d1cf0fff359d6d04768108cb2a5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::finish </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$root_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$identifier</em> = <code>null</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Finalize a buffer, pointing to the given <code>$root_table</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">$root_table</td><td>An offest to be added to the buffer. </td></tr>
+    <tr><td class="paramname">$file_identifier</td><td>A FlatBuffer file identifier to be added to the buffer before <code>$root_table</code>. This defaults to <code>null</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname">InvalidArgumentException</td><td>Thrown if an invalid <code>$identifier</code> is given, where its length is not equal to <code>Constants::FILE_IDENTIFIER_LENGTH</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5d75bca1a17d58bb6e383a73761ba45f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::forceDefaults </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$forceDefaults</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>In order to save space, fields that are set to their default value don't get serialized into the buffer. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">bool</td><td class="paramname">$forceDefaults</td><td>When set to <code>true</code>, always serializes default values. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a967e7dc8f051d4e73b3155e3b281d7b4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Google\FlatBuffers\FlatbufferBuilder::sizedByteArray </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Utility function to copy and return the FlatBuffer data from the underlying ByteBuffer. </p>
+<dl class="section return"><dt>Returns</dt><dd>string A string (representing a byte[]) that contains a copy of the FlatBuffer data. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="_flatbuffer_builder_8php.html">FlatbufferBuilder.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/class_google_1_1_flat_buffers_1_1_flatbuffer_builder.js b/class_google_1_1_flat_buffers_1_1_flatbuffer_builder.js
new file mode 100644
index 0000000000000000000000000000000000000000..72ec6f5af9546196b111deabffefeb5d69eaf75a
--- /dev/null
+++ b/class_google_1_1_flat_buffers_1_1_flatbuffer_builder.js
@@ -0,0 +1,22 @@
+var class_google_1_1_flat_buffers_1_1_flatbuffer_builder =
+[
+    [ "__construct", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4", null ],
+    [ "addBool", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e", null ],
+    [ "addByte", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc", null ],
+    [ "addDouble", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86", null ],
+    [ "addFloat", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404", null ],
+    [ "addInt", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0", null ],
+    [ "addLong", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70", null ],
+    [ "addOffset", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934", null ],
+    [ "addSbyte", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6", null ],
+    [ "addShort", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5", null ],
+    [ "addUint", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c", null ],
+    [ "addUlong", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826", null ],
+    [ "addUshort", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42", null ],
+    [ "createString", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f", null ],
+    [ "dataBuffer", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f", null ],
+    [ "finish", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5", null ],
+    [ "forceDefaults", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f", null ],
+    [ "sizedByteArray", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4", null ],
+    [ "$bb", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b", null ]
+];
\ No newline at end of file
diff --git a/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder-members.html b/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..011823e793bb58bc7e2d767cb8f422408b5c93f4
--- /dev/null
+++ b/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder-members.html
@@ -0,0 +1,164 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Member List</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">com.google.flatbuffers.FlatBufferBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06">addBoolean</a>(boolean x)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b">addByte</a>(byte x)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32">addDouble</a>(double x)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d">addFloat</a>(float x)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db">addInt</a>(int x)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5">addLong</a>(long x)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790">addOffset</a>(int off)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94">addShort</a>(short x)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74">createString</a>(String s)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a8d676eb9973ecba574a220cdef725577">createString</a>(ByteBuffer s)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7">dataBuffer</a>()</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14">finish</a>(int root_table)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a189de474e0c39d663cc65fa21a63f071">finish</a>(int root_table, String file_identifier)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d">FlatBufferBuilder</a>(int initial_size)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387">FlatBufferBuilder</a>()</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a61ad1938219bcdbe99cc4b668f4c0f99">FlatBufferBuilder</a>(ByteBuffer existing_bb)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69">forceDefaults</a>(boolean forceDefaults)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023">init</a>(ByteBuffer existing_bb)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078">sizedByteArray</a>(int start, int length)</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aa636cf5190524c43212b6d96239d7672">sizedByteArray</a>()</td><td class="entry"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html b/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html
new file mode 100644
index 0000000000000000000000000000000000000000..a1d3bec2471ee1f38b0727ce4402d9b38f5fac1d
--- /dev/null
+++ b/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html
@@ -0,0 +1,852 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: com.google.flatbuffers.FlatBufferBuilder Class 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">com.google.flatbuffers.FlatBufferBuilder Class Reference<div class="ingroups"><a class="el" href="group__flatbuffers__java__api.html">Java API</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class that helps you build a FlatBuffer.  
+ <a href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Class that helps you build a FlatBuffer. </p>
+<p>See the section <a class="el" href="flatbuffers_guide_use_java_c-sharp.html">Use in Java/C#</a> in the main FlatBuffers documentation. </p>
+</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:a53e6356cfef3d6be298efb9a0d67be06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06">addBoolean</a> (boolean x)</td></tr>
+<tr class="memdesc:a53e6356cfef3d6be298efb9a0d67be06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>boolean</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a53e6356cfef3d6be298efb9a0d67be06">More...</a><br /></td></tr>
+<tr class="separator:a53e6356cfef3d6be298efb9a0d67be06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae019d7ee089c95a37421365d5fb9533b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b">addByte</a> (byte x)</td></tr>
+<tr class="memdesc:ae019d7ee089c95a37421365d5fb9533b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>byte</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#ae019d7ee089c95a37421365d5fb9533b">More...</a><br /></td></tr>
+<tr class="separator:ae019d7ee089c95a37421365d5fb9533b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac36c1fc72851b17129fc763da00cff32"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32">addDouble</a> (double x)</td></tr>
+<tr class="memdesc:ac36c1fc72851b17129fc763da00cff32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>double</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#ac36c1fc72851b17129fc763da00cff32">More...</a><br /></td></tr>
+<tr class="separator:ac36c1fc72851b17129fc763da00cff32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55c20e99ba68be516dfbddfddb9efd4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d">addFloat</a> (float x)</td></tr>
+<tr class="memdesc:a55c20e99ba68be516dfbddfddb9efd4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>float</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a55c20e99ba68be516dfbddfddb9efd4d">More...</a><br /></td></tr>
+<tr class="separator:a55c20e99ba68be516dfbddfddb9efd4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c0ae381bf6adb84b18e613aadf8d4db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db">addInt</a> (int x)</td></tr>
+<tr class="memdesc:a1c0ae381bf6adb84b18e613aadf8d4db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a1c0ae381bf6adb84b18e613aadf8d4db">More...</a><br /></td></tr>
+<tr class="separator:a1c0ae381bf6adb84b18e613aadf8d4db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e1215f334989ecc59b49a3239aed5b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5">addLong</a> (long x)</td></tr>
+<tr class="memdesc:a0e1215f334989ecc59b49a3239aed5b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>long</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a0e1215f334989ecc59b49a3239aed5b5">More...</a><br /></td></tr>
+<tr class="separator:a0e1215f334989ecc59b49a3239aed5b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae817751382089b603753452cc1e56790"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790">addOffset</a> (int off)</td></tr>
+<tr class="memdesc:ae817751382089b603753452cc1e56790"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds on offset, relative to where it will be written.  <a href="#ae817751382089b603753452cc1e56790">More...</a><br /></td></tr>
+<tr class="separator:ae817751382089b603753452cc1e56790"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67a9f5dcd251735d6b96e1ad46de9d94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94">addShort</a> (short x)</td></tr>
+<tr class="memdesc:a67a9f5dcd251735d6b96e1ad46de9d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>short</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#a67a9f5dcd251735d6b96e1ad46de9d94">More...</a><br /></td></tr>
+<tr class="separator:a67a9f5dcd251735d6b96e1ad46de9d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0cd613dda628a2723925eda5f4d5e74"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74">createString</a> (String s)</td></tr>
+<tr class="memdesc:ab0cd613dda628a2723925eda5f4d5e74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode the string <code>s</code> in the buffer using UTF-8.  <a href="#ab0cd613dda628a2723925eda5f4d5e74">More...</a><br /></td></tr>
+<tr class="separator:ab0cd613dda628a2723925eda5f4d5e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d676eb9973ecba574a220cdef725577"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a8d676eb9973ecba574a220cdef725577">createString</a> (ByteBuffer s)</td></tr>
+<tr class="memdesc:a8d676eb9973ecba574a220cdef725577"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a string in the buffer from an already encoded UTF-8 string in a ByteBuffer.  <a href="#a8d676eb9973ecba574a220cdef725577">More...</a><br /></td></tr>
+<tr class="separator:a8d676eb9973ecba574a220cdef725577"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf0fd34f0d93a9d89f595fddf752feb7"><td class="memItemLeft" align="right" valign="top">ByteBuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7">dataBuffer</a> ()</td></tr>
+<tr class="memdesc:abf0fd34f0d93a9d89f595fddf752feb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ByteBuffer representing the FlatBuffer.  <a href="#abf0fd34f0d93a9d89f595fddf752feb7">More...</a><br /></td></tr>
+<tr class="separator:abf0fd34f0d93a9d89f595fddf752feb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee9ed3214a7b35075773c506e3d95a14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14">finish</a> (int root_table)</td></tr>
+<tr class="memdesc:aee9ed3214a7b35075773c506e3d95a14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize a buffer, pointing to the given <code>root_table</code>.  <a href="#aee9ed3214a7b35075773c506e3d95a14">More...</a><br /></td></tr>
+<tr class="separator:aee9ed3214a7b35075773c506e3d95a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a189de474e0c39d663cc65fa21a63f071"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a189de474e0c39d663cc65fa21a63f071">finish</a> (int root_table, String file_identifier)</td></tr>
+<tr class="memdesc:a189de474e0c39d663cc65fa21a63f071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize a buffer, pointing to the given <code>root_table</code>.  <a href="#a189de474e0c39d663cc65fa21a63f071">More...</a><br /></td></tr>
+<tr class="separator:a189de474e0c39d663cc65fa21a63f071"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af49427a6a8a6ec24f3c9cf812f30812d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d">FlatBufferBuilder</a> (int initial_size)</td></tr>
+<tr class="memdesc:af49427a6a8a6ec24f3c9cf812f30812d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start with a buffer of size <code>initial_size</code>, then grow as required.  <a href="#af49427a6a8a6ec24f3c9cf812f30812d">More...</a><br /></td></tr>
+<tr class="separator:af49427a6a8a6ec24f3c9cf812f30812d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8a8a558ce1d2531447a765636db2387"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8a8a558ce1d2531447a765636db2387"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387">FlatBufferBuilder</a> ()</td></tr>
+<tr class="memdesc:ac8a8a558ce1d2531447a765636db2387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start with a buffer of 1KiB, then grow as required. <br /></td></tr>
+<tr class="separator:ac8a8a558ce1d2531447a765636db2387"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61ad1938219bcdbe99cc4b668f4c0f99"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a61ad1938219bcdbe99cc4b668f4c0f99">FlatBufferBuilder</a> (ByteBuffer existing_bb)</td></tr>
+<tr class="memdesc:a61ad1938219bcdbe99cc4b668f4c0f99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alternative constructor allowing reuse of <a class="el" href="">ByteBuffer</a>s.  <a href="#a61ad1938219bcdbe99cc4b668f4c0f99">More...</a><br /></td></tr>
+<tr class="separator:a61ad1938219bcdbe99cc4b668f4c0f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaadff3772bfdff756b4f269afae5ac69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69">forceDefaults</a> (boolean forceDefaults)</td></tr>
+<tr class="memdesc:aaadff3772bfdff756b4f269afae5ac69"><td class="mdescLeft">&#160;</td><td class="mdescRight">In order to save space, fields that are set to their default value don't get serialized into the buffer.  <a href="#aaadff3772bfdff756b4f269afae5ac69">More...</a><br /></td></tr>
+<tr class="separator:aaadff3772bfdff756b4f269afae5ac69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0757a4347e9b932f9c0607f79531b023"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023">init</a> (ByteBuffer existing_bb)</td></tr>
+<tr class="memdesc:a0757a4347e9b932f9c0607f79531b023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alternative initializer that allows reusing this object on an existing <code>ByteBuffer</code>.  <a href="#a0757a4347e9b932f9c0607f79531b023">More...</a><br /></td></tr>
+<tr class="separator:a0757a4347e9b932f9c0607f79531b023"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81a5c2d7ab36e913cc16d9499aabe078"><td class="memItemLeft" align="right" valign="top">byte[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078">sizedByteArray</a> (int start, int length)</td></tr>
+<tr class="memdesc:a81a5c2d7ab36e913cc16d9499aabe078"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility function to copy and return the ByteBuffer data from <code>start</code> to <code>start</code> + <code>length</code> as a <code>byte[]</code>.  <a href="#a81a5c2d7ab36e913cc16d9499aabe078">More...</a><br /></td></tr>
+<tr class="separator:a81a5c2d7ab36e913cc16d9499aabe078"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa636cf5190524c43212b6d96239d7672"><td class="memItemLeft" align="right" valign="top">byte[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aa636cf5190524c43212b6d96239d7672">sizedByteArray</a> ()</td></tr>
+<tr class="memdesc:aa636cf5190524c43212b6d96239d7672"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility function to copy and return the ByteBuffer data as a <code>byte[]</code>.  <a href="#aa636cf5190524c43212b6d96239d7672">More...</a><br /></td></tr>
+<tr class="separator:aa636cf5190524c43212b6d96239d7672"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af49427a6a8a6ec24f3c9cf812f30812d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>initial_size</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Start with a buffer of size <code>initial_size</code>, then grow as required. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">initial_size</td><td>The initial size of the internal buffer to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a61ad1938219bcdbe99cc4b668f4c0f99"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder </td>
+          <td>(</td>
+          <td class="paramtype">ByteBuffer&#160;</td>
+          <td class="paramname"><em>existing_bb</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Alternative constructor allowing reuse of <a class="el" href="">ByteBuffer</a>s. </p>
+<p>The builder can still grow the buffer as necessary. User classes should make sure to call <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7">dataBuffer()</a> to obtain the resulting encoded message.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">existing_bb</td><td>The byte buffer to reuse. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a53e6356cfef3d6be298efb9a0d67be06"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addBoolean </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>boolean</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>A <code>boolean</code> to put into the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae019d7ee089c95a37421365d5fb9533b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addByte </td>
+          <td>(</td>
+          <td class="paramtype">byte&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>byte</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>A <code>byte</code> to put into the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac36c1fc72851b17129fc763da00cff32"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addDouble </td>
+          <td>(</td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>double</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>A <code>double</code> to put into the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a55c20e99ba68be516dfbddfddb9efd4d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addFloat </td>
+          <td>(</td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>float</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>A <code>float</code> to put into the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1c0ae381bf6adb84b18e613aadf8d4db"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addInt </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add an <code>int</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>An <code>int</code> to put into the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0e1215f334989ecc59b49a3239aed5b5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addLong </td>
+          <td>(</td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>long</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>A <code>long</code> to put into the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae817751382089b603753452cc1e56790"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addOffset </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>off</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Adds on offset, relative to where it will be written. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">off</td><td>The offset to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a67a9f5dcd251735d6b96e1ad46de9d94"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.addShort </td>
+          <td>(</td>
+          <td class="paramtype">short&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <code>short</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>A <code>short</code> to put into the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ab0cd613dda628a2723925eda5f4d5e74"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int com.google.flatbuffers.FlatBufferBuilder.createString </td>
+          <td>(</td>
+          <td class="paramtype">String&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Encode the string <code>s</code> in the buffer using UTF-8. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">s</td><td>The string to encode. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The offset in the buffer where the encoded string starts. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8d676eb9973ecba574a220cdef725577"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int com.google.flatbuffers.FlatBufferBuilder.createString </td>
+          <td>(</td>
+          <td class="paramtype">ByteBuffer&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create a string in the buffer from an already encoded UTF-8 string in a ByteBuffer. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">s</td><td>An already encoded UTF-8 string as a <code>ByteBuffer</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The offset in the buffer where the encoded string starts. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abf0fd34f0d93a9d89f595fddf752feb7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">ByteBuffer com.google.flatbuffers.FlatBufferBuilder.dataBuffer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the ByteBuffer representing the FlatBuffer. </p>
+<p>Only call this after you've called <code>finish()</code>. The actual data starts at the ByteBuffer's current position, not necessarily at <code>0</code>. </p>
+
+</div>
+</div>
+<a class="anchor" id="aee9ed3214a7b35075773c506e3d95a14"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.finish </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>root_table</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Finalize a buffer, pointing to the given <code>root_table</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">root_table</td><td>An offset to be added to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a189de474e0c39d663cc65fa21a63f071"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void com.google.flatbuffers.FlatBufferBuilder.finish </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>root_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">String&#160;</td>
+          <td class="paramname"><em>file_identifier</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Finalize a buffer, pointing to the given <code>root_table</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">root_table</td><td>An offset to be added to the buffer. </td></tr>
+    <tr><td class="paramname">file_identifier</td><td>A FlatBuffer file identifier to be added to the buffer before <code>root_table</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aaadff3772bfdff756b4f269afae5ac69"></a>
+<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="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> com.google.flatbuffers.FlatBufferBuilder.forceDefaults </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>forceDefaults</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>In order to save space, fields that are set to their default value don't get serialized into the buffer. </p>
+<p>Forcing defaults provides a way to manually disable this optimization.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">forceDefaults</td><td>When set to <code>true</code>, always serializes default values. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns <code>this</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0757a4347e9b932f9c0607f79531b023"></a>
+<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="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> com.google.flatbuffers.FlatBufferBuilder.init </td>
+          <td>(</td>
+          <td class="paramtype">ByteBuffer&#160;</td>
+          <td class="paramname"><em>existing_bb</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Alternative initializer that allows reusing this object on an existing <code>ByteBuffer</code>. </p>
+<p>This method resets the builder's internal state, but keeps objects that have been allocated for temporary storage.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">existing_bb</td><td>The byte buffer to reuse. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns <code>this</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a81a5c2d7ab36e913cc16d9499aabe078"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">byte [] com.google.flatbuffers.FlatBufferBuilder.sizedByteArray </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>start</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>length</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A utility function to copy and return the ByteBuffer data from <code>start</code> to <code>start</code> + <code>length</code> as a <code>byte[]</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">start</td><td>Start copying at this offset. </td></tr>
+    <tr><td class="paramname">length</td><td>How many bytes to copy. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A range copy of the <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7">data buffer</a>. </dd></dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname">IndexOutOfBoundsException</td><td>If the range of bytes is ouf of bound. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aa636cf5190524c43212b6d96239d7672"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">byte [] com.google.flatbuffers.FlatBufferBuilder.sizedByteArray </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A utility function to copy and return the ByteBuffer data as a <code>byte[]</code>. </p>
+<dl class="section return"><dt>Returns</dt><dd>A full copy of the <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7">data buffer</a>. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="_flat_buffer_builder_8java.html">FlatBufferBuilder.java</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.js b/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.js
new file mode 100644
index 0000000000000000000000000000000000000000..7b0c8cbf1962b042b2d6c167b3b7f9582941b87b
--- /dev/null
+++ b/classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.js
@@ -0,0 +1,23 @@
+var classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder =
+[
+    [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d", null ],
+    [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387", null ],
+    [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a61ad1938219bcdbe99cc4b668f4c0f99", null ],
+    [ "addBoolean", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06", null ],
+    [ "addByte", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b", null ],
+    [ "addDouble", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32", null ],
+    [ "addFloat", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d", null ],
+    [ "addInt", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db", null ],
+    [ "addLong", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5", null ],
+    [ "addOffset", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790", null ],
+    [ "addShort", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94", null ],
+    [ "createString", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74", null ],
+    [ "createString", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a8d676eb9973ecba574a220cdef725577", null ],
+    [ "dataBuffer", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7", null ],
+    [ "finish", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14", null ],
+    [ "finish", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a189de474e0c39d663cc65fa21a63f071", null ],
+    [ "forceDefaults", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69", null ],
+    [ "init", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023", null ],
+    [ "sizedByteArray", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078", null ],
+    [ "sizedByteArray", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aa636cf5190524c43212b6d96239d7672", null ]
+];
\ No newline at end of file
diff --git a/classes.html b/classes.html
new file mode 100644
index 0000000000000000000000000000000000000000..526638ee417bacab931df76ce9a36c4674ec216b
--- /dev/null
+++ b/classes.html
@@ -0,0 +1,150 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Class Index</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('classes.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Class Index</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_F">F</a></div>
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> (flatbuffers)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> (com.google.flatbuffers)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> (<a class="el" href="namespace_flat_buffers.html">FlatBuffers</a>)&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">FlatbufferBuilder</a> (Google\FlatBuffers)&#160;&#160;&#160;</td><td></td><td></td></tr>
+<tr><td></td><td></td><td></td></tr>
+</table>
+<div class="qindex"><a class="qindex" href="#letter_F">F</a></div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/classflatbuffers_1_1_flat_buffer_builder-members.html b/classflatbuffers_1_1_flat_buffer_builder-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..475bcc949ab6c4d0d757560af64b54a22a70c5ea
--- /dev/null
+++ b/classflatbuffers_1_1_flat_buffer_builder-members.html
@@ -0,0 +1,165 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Member List</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('classflatbuffers_1_1_flat_buffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">flatbuffers::FlatBufferBuilder Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412">Clear</a>()</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">CreateString</a>(const char *str, size_t len)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5">CreateString</a>(const char *str)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f">CreateString</a>(const std::string &amp;str)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506">CreateString</a>(const String *str)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">CreateUninitializedVector</a>(size_t len, size_t elemsize, uint8_t **buf)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50">CreateUninitializedVector</a>(size_t len, T **buf)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3">CreateVector</a>(const T *v, size_t len)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207">CreateVector</a>(const std::vector&lt; T &gt; &amp;v)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6">CreateVectorOfSortedTables</a>(Offset&lt; T &gt; *v, size_t len)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135">CreateVectorOfSortedTables</a>(std::vector&lt; Offset&lt; T &gt;&gt; *v)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">CreateVectorOfStructs</a>(const T *v, size_t len)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1">CreateVectorOfStructs</a>(const std::vector&lt; T &gt; &amp;v)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912">Finish</a>(Offset&lt; T &gt; root, const char *file_identifier=nullptr)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">FlatBufferBuilder</a>(uoffset_t initial_size=1024, const simple_allocator *allocator=nullptr)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a">ForceDefaults</a>(bool fd)</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8">GetBufferPointer</a>() const </td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9">GetCurrentBufferPointer</a>() const </td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>() const </td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">kFileIdentifierLength</a></td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44">ReleaseBufferPointer</a>()</td><td class="entry"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/classflatbuffers_1_1_flat_buffer_builder.html b/classflatbuffers_1_1_flat_buffer_builder.html
new file mode 100644
index 0000000000000000000000000000000000000000..30f812ba4058bf49d3c3a1a91c852c2ec6c5cab3
--- /dev/null
+++ b/classflatbuffers_1_1_flat_buffer_builder.html
@@ -0,0 +1,1010 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: flatbuffers::FlatBufferBuilder Class 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('classflatbuffers_1_1_flat_buffer_builder.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="classflatbuffers_1_1_flat_buffer_builder-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">flatbuffers::FlatBufferBuilder Class Reference<div class="ingroups"><a class="el" href="group__flatbuffers__cpp__api.html">C++ API</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Helper class to hold data needed in creation of a FlatBuffer.  
+ <a href="classflatbuffers_1_1_flat_buffer_builder.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="flatbuffers_8h_source.html">flatbuffers.h</a>&gt;</code></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Helper class to hold data needed in creation of a FlatBuffer. </p>
+<p>To serialize data, you typically call one of the <code>Create*()</code> functions in the generated code, which in turn call a sequence of <code>StartTable</code>/ <code>PushElement</code>/<code>AddElement</code>/<code>EndTable</code>, or the builtin <code>CreateString</code>/ <code>CreateVector</code> functions. Do this is depth-first order to build up a tree to the root. <code>Finish()</code> wraps up the buffer ready for transport. </p>
+</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:ae94b94ba71ea0aeb2d9a98c43b713412"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412">Clear</a> ()</td></tr>
+<tr class="memdesc:ae94b94ba71ea0aeb2d9a98c43b713412"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset all the state in this FlatBufferBuilder so it can be reused to construct another buffer.  <a href="#ae94b94ba71ea0aeb2d9a98c43b713412">More...</a><br /></td></tr>
+<tr class="separator:ae94b94ba71ea0aeb2d9a98c43b713412"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec6f9df2a0366b540b24822414d92cbe"><td class="memItemLeft" align="right" valign="top">Offset&lt; String &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">CreateString</a> (const char *str, size_t len)</td></tr>
+<tr class="memdesc:aec6f9df2a0366b540b24822414d92cbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a string in the buffer, which can contain any binary data.  <a href="#aec6f9df2a0366b540b24822414d92cbe">More...</a><br /></td></tr>
+<tr class="separator:aec6f9df2a0366b540b24822414d92cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad93d113ac24e86ed04b5236b3f4c0c5"><td class="memItemLeft" align="right" valign="top">Offset&lt; String &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5">CreateString</a> (const char *str)</td></tr>
+<tr class="memdesc:aad93d113ac24e86ed04b5236b3f4c0c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a string in the buffer, which can contain any binary data.  <a href="#aad93d113ac24e86ed04b5236b3f4c0c5">More...</a><br /></td></tr>
+<tr class="separator:aad93d113ac24e86ed04b5236b3f4c0c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8c3af55e64f5cda9aefa38ac5287ef9f"><td class="memItemLeft" align="right" valign="top">Offset&lt; String &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f">CreateString</a> (const std::string &amp;str)</td></tr>
+<tr class="memdesc:a8c3af55e64f5cda9aefa38ac5287ef9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a string in the buffer, which can contain any binary data.  <a href="#a8c3af55e64f5cda9aefa38ac5287ef9f">More...</a><br /></td></tr>
+<tr class="separator:a8c3af55e64f5cda9aefa38ac5287ef9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0b6a1c5d949f20ad84367fc0f9e1506"><td class="memItemLeft" align="right" valign="top">Offset&lt; String &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506">CreateString</a> (const String *str)</td></tr>
+<tr class="memdesc:ac0b6a1c5d949f20ad84367fc0f9e1506"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a string in the buffer, which can contain any binary data.  <a href="#ac0b6a1c5d949f20ad84367fc0f9e1506">More...</a><br /></td></tr>
+<tr class="separator:ac0b6a1c5d949f20ad84367fc0f9e1506"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2b96292fa0fb1534fe7fd218a094d0c"><td class="memItemLeft" align="right" valign="top">uoffset_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">CreateUninitializedVector</a> (size_t len, size_t elemsize, uint8_t **buf)</td></tr>
+<tr class="memdesc:ac2b96292fa0fb1534fe7fd218a094d0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized version of <code>CreateVector</code> for non-copying use cases.  <a href="#ac2b96292fa0fb1534fe7fd218a094d0c">More...</a><br /></td></tr>
+<tr class="separator:ac2b96292fa0fb1534fe7fd218a094d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2305b63d367845972b51669dd995cc50"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2305b63d367845972b51669dd995cc50"><td class="memTemplItemLeft" align="right" valign="top">Offset&lt; Vector&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50">CreateUninitializedVector</a> (size_t len, T **buf)</td></tr>
+<tr class="memdesc:a2305b63d367845972b51669dd995cc50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized version of <code>CreateVector</code> for non-copying use cases.  <a href="#a2305b63d367845972b51669dd995cc50">More...</a><br /></td></tr>
+<tr class="separator:a2305b63d367845972b51669dd995cc50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2cca5c89246a53e80e6ad9487f4c36f3"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2cca5c89246a53e80e6ad9487f4c36f3"><td class="memTemplItemLeft" align="right" valign="top">Offset&lt; Vector&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3">CreateVector</a> (const T *v, size_t len)</td></tr>
+<tr class="memdesc:a2cca5c89246a53e80e6ad9487f4c36f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize an array into a FlatBuffer <code>vector</code>.  <a href="#a2cca5c89246a53e80e6ad9487f4c36f3">More...</a><br /></td></tr>
+<tr class="separator:a2cca5c89246a53e80e6ad9487f4c36f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af715dd24dd37cb0151dc7a980ad0f207"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:af715dd24dd37cb0151dc7a980ad0f207"><td class="memTemplItemLeft" align="right" valign="top">Offset&lt; Vector&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207">CreateVector</a> (const std::vector&lt; T &gt; &amp;v)</td></tr>
+<tr class="memdesc:af715dd24dd37cb0151dc7a980ad0f207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a <code>std::vector</code> into a FlatBuffer <code>vector</code>.  <a href="#af715dd24dd37cb0151dc7a980ad0f207">More...</a><br /></td></tr>
+<tr class="separator:af715dd24dd37cb0151dc7a980ad0f207"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2130ef232ff405eebe2e7f184ecd06e6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2130ef232ff405eebe2e7f184ecd06e6"><td class="memTemplItemLeft" align="right" valign="top">Offset&lt; Vector&lt; Offset&lt; T &gt; &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6">CreateVectorOfSortedTables</a> (Offset&lt; T &gt; *v, size_t len)</td></tr>
+<tr class="memdesc:a2130ef232ff405eebe2e7f184ecd06e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize an array of <code>table</code> offsets as a <code>vector</code> in the buffer in sorted order.  <a href="#a2130ef232ff405eebe2e7f184ecd06e6">More...</a><br /></td></tr>
+<tr class="separator:a2130ef232ff405eebe2e7f184ecd06e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac64d11c219559ea51567eab556e13135"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ac64d11c219559ea51567eab556e13135"><td class="memTemplItemLeft" align="right" valign="top">Offset&lt; Vector&lt; Offset&lt; T &gt; &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135">CreateVectorOfSortedTables</a> (std::vector&lt; Offset&lt; T &gt;&gt; *v)</td></tr>
+<tr class="memdesc:ac64d11c219559ea51567eab556e13135"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize an array of <code>table</code> offsets as a <code>vector</code> in the buffer in sorted order.  <a href="#ac64d11c219559ea51567eab556e13135">More...</a><br /></td></tr>
+<tr class="separator:ac64d11c219559ea51567eab556e13135"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afede51fd9c32d146cbb1832f57c5e1b7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:afede51fd9c32d146cbb1832f57c5e1b7"><td class="memTemplItemLeft" align="right" valign="top">Offset&lt; Vector&lt; const T * &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">CreateVectorOfStructs</a> (const T *v, size_t len)</td></tr>
+<tr class="memdesc:afede51fd9c32d146cbb1832f57c5e1b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize an array of structs into a FlatBuffer <code>vector</code>.  <a href="#afede51fd9c32d146cbb1832f57c5e1b7">More...</a><br /></td></tr>
+<tr class="separator:afede51fd9c32d146cbb1832f57c5e1b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8704709a2e25ad04679212ee4126b1a1"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a8704709a2e25ad04679212ee4126b1a1"><td class="memTemplItemLeft" align="right" valign="top">Offset&lt; Vector&lt; const T * &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1">CreateVectorOfStructs</a> (const std::vector&lt; T &gt; &amp;v)</td></tr>
+<tr class="memdesc:a8704709a2e25ad04679212ee4126b1a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a <code>std::vector</code> of structs into a FlatBuffer <code>vector</code>.  <a href="#a8704709a2e25ad04679212ee4126b1a1">More...</a><br /></td></tr>
+<tr class="separator:a8704709a2e25ad04679212ee4126b1a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c9e507b373d598b51052fab4fa34912"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a0c9e507b373d598b51052fab4fa34912"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912">Finish</a> (Offset&lt; T &gt; root, const char *file_identifier=nullptr)</td></tr>
+<tr class="memdesc:a0c9e507b373d598b51052fab4fa34912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finish serializing a buffer by writing the root offset.  <a href="#a0c9e507b373d598b51052fab4fa34912">More...</a><br /></td></tr>
+<tr class="separator:a0c9e507b373d598b51052fab4fa34912"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac72b54a75e0c329e0ce0b8fab758e256"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">FlatBufferBuilder</a> (uoffset_t initial_size=1024, const simple_allocator *allocator=nullptr)</td></tr>
+<tr class="memdesc:ac72b54a75e0c329e0ce0b8fab758e256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor for FlatBufferBuilder.  <a href="#ac72b54a75e0c329e0ce0b8fab758e256">More...</a><br /></td></tr>
+<tr class="separator:ac72b54a75e0c329e0ce0b8fab758e256"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16a8fd46b34ad7727406c37b65b6b27a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a">ForceDefaults</a> (bool fd)</td></tr>
+<tr class="memdesc:a16a8fd46b34ad7727406c37b65b6b27a"><td class="mdescLeft">&#160;</td><td class="mdescRight">In order to save space, fields that are set to their default value don't get serialized into the buffer.  <a href="#a16a8fd46b34ad7727406c37b65b6b27a">More...</a><br /></td></tr>
+<tr class="separator:a16a8fd46b34ad7727406c37b65b6b27a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8dc35f792179df4ca850492c1796d8b8"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8">GetBufferPointer</a> () const </td></tr>
+<tr class="memdesc:a8dc35f792179df4ca850492c1796d8b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the serialized buffer (after you call <code>Finish()</code>).  <a href="#a8dc35f792179df4ca850492c1796d8b8">More...</a><br /></td></tr>
+<tr class="separator:a8dc35f792179df4ca850492c1796d8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f4252e9bc005ba6c700469544fdccc9"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9">GetCurrentBufferPointer</a> () const </td></tr>
+<tr class="memdesc:a3f4252e9bc005ba6c700469544fdccc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to an unfinished buffer.  <a href="#a3f4252e9bc005ba6c700469544fdccc9">More...</a><br /></td></tr>
+<tr class="separator:a3f4252e9bc005ba6c700469544fdccc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1bfd609f7f736e9a37cedae77448b63"><td class="memItemLeft" align="right" valign="top">uoffset_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a> () const </td></tr>
+<tr class="memdesc:ac1bfd609f7f736e9a37cedae77448b63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current size of the serialized buffer, counting from the end.  <a href="#ac1bfd609f7f736e9a37cedae77448b63">More...</a><br /></td></tr>
+<tr class="separator:ac1bfd609f7f736e9a37cedae77448b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21c7f933d7ff1212f2090763ef9f0c44"><td class="memItemLeft" align="right" valign="top">unique_ptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44">ReleaseBufferPointer</a> ()</td></tr>
+<tr class="memdesc:a21c7f933d7ff1212f2090763ef9f0c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the released pointer to the serialized buffer.  <a href="#a21c7f933d7ff1212f2090763ef9f0c44">More...</a><br /></td></tr>
+<tr class="separator:a21c7f933d7ff1212f2090763ef9f0c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:af8c7583c92e1d1d6f438977da5158d19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8c7583c92e1d1d6f438977da5158d19"></a>
+static const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">kFileIdentifierLength</a> = 4</td></tr>
+<tr class="memdesc:af8c7583c92e1d1d6f438977da5158d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">The length of a FlatBuffer file header. <br /></td></tr>
+<tr class="separator:af8c7583c92e1d1d6f438977da5158d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac72b54a75e0c329e0ce0b8fab758e256"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers::FlatBufferBuilder::FlatBufferBuilder </td>
+          <td>(</td>
+          <td class="paramtype">uoffset_t&#160;</td>
+          <td class="paramname"><em>initial_size</em> = <code>1024</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_allocator *&#160;</td>
+          <td class="paramname"><em>allocator</em> = <code>nullptr</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Default constructor for FlatBufferBuilder. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">initial_size</td><td>The initial size of the buffer, in bytes. Defaults to<code>1024</code>. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">allocator</td><td>A pointer to the <code>simple_allocator</code> that should be used. Defaults to <code>nullptr</code>, which means the <code>default_allocator</code> will be be used. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ae94b94ba71ea0aeb2d9a98c43b713412"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void flatbuffers::FlatBufferBuilder::Clear </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reset all the state in this FlatBufferBuilder so it can be reused to construct another buffer. </p>
+
+</div>
+</div>
+<a class="anchor" id="aec6f9df2a0366b540b24822414d92cbe"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;String&gt; flatbuffers::FlatBufferBuilder::CreateString </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Store a string in the buffer, which can contain any binary data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>A const char pointer to the data to be stored as a string. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of bytes that should be stored from <code>str</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns the offset in the buffer where the string starts. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aad93d113ac24e86ed04b5236b3f4c0c5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;String&gt; flatbuffers::FlatBufferBuilder::CreateString </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>str</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Store a string in the buffer, which can contain any binary data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>A const char pointer to a C-string to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns the offset in the buffer where the string starts. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8c3af55e64f5cda9aefa38ac5287ef9f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;String&gt; flatbuffers::FlatBufferBuilder::CreateString </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>str</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Store a string in the buffer, which can contain any binary data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>A const reference to a std::string to store in the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns the offset in the buffer where the string starts. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac0b6a1c5d949f20ad84367fc0f9e1506"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;String&gt; flatbuffers::FlatBufferBuilder::CreateString </td>
+          <td>(</td>
+          <td class="paramtype">const String *&#160;</td>
+          <td class="paramname"><em>str</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Store a string in the buffer, which can contain any binary data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>A const pointer to a <code>String</code> struct to add to the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns the offset in the buffer where the string starts </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac2b96292fa0fb1534fe7fd218a094d0c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">uoffset_t flatbuffers::FlatBufferBuilder::CreateUninitializedVector </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>elemsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t **&#160;</td>
+          <td class="paramname"><em>buf</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Specialized version of <code>CreateVector</code> for non-copying use cases. </p>
+<p>Write the data any time later to the returned buffer pointer <code>buf</code>. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of elements to store in the <code>vector</code>. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">elemsize</td><td>The size of each element in the <code>vector</code>. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>A pointer to a <code>uint8_t</code> pointer that can be written to at a later time to serialize the data into a <code>vector</code> in the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a2305b63d367845972b51669dd995cc50"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;Vector&lt;T&gt; &gt; flatbuffers::FlatBufferBuilder::CreateUninitializedVector </td>
+          <td>(</td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">T **&#160;</td>
+          <td class="paramname"><em>buf</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Specialized version of <code>CreateVector</code> for non-copying use cases. </p>
+<p>Write the data any time later to the returned buffer pointer <code>buf</code>. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">T</td><td>The data type of the data that will be stored in the buffer as a <code>vector</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of elements to store in the <code>vector</code>. </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>A pointer to a pointer of type <code>T</code> that can be written to at a later time to serialize the data into a <code>vector</code> in the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a2cca5c89246a53e80e6ad9487f4c36f3"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;Vector&lt;T&gt; &gt; flatbuffers::FlatBufferBuilder::CreateVector </td>
+          <td>(</td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serialize an array into a FlatBuffer <code>vector</code>. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">T</td><td>The data type of the array elements. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>A pointer to the array of type <code>T</code> to serialize into the buffer as a <code>vector</code>. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of elements to serialize. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a typed <code>Offset</code> into the serialized data indicating where the vector is stored. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af715dd24dd37cb0151dc7a980ad0f207"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;Vector&lt;T&gt; &gt; flatbuffers::FlatBufferBuilder::CreateVector </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serialize a <code>std::vector</code> into a FlatBuffer <code>vector</code>. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">T</td><td>The data type of the <code>std::vector</code> elements. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">v</td><td>A const reference to the <code>std::vector</code> to serialize into the buffer as a <code>vector</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a typed <code>Offset</code> into the serialized data indicating where the vector is stored. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a2130ef232ff405eebe2e7f184ecd06e6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;Vector&lt;Offset&lt;T&gt; &gt; &gt; flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables </td>
+          <td>(</td>
+          <td class="paramtype">Offset&lt; T &gt; *&#160;</td>
+          <td class="paramname"><em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serialize an array of <code>table</code> offsets as a <code>vector</code> in the buffer in sorted order. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">T</td><td>The data type that the offset refers to. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>An array of type <code>Offset&lt;T&gt;</code> that contains the <code>table</code> offsets to store in the buffer in sorted order. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of elements to store in the <code>vector</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a typed <code>Offset</code> into the serialized data indicating where the vector is stored. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac64d11c219559ea51567eab556e13135"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;Vector&lt;Offset&lt;T&gt; &gt; &gt; flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables </td>
+          <td>(</td>
+          <td class="paramtype">std::vector&lt; Offset&lt; T &gt;&gt; *&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serialize an array of <code>table</code> offsets as a <code>vector</code> in the buffer in sorted order. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">T</td><td>The data type that the offset refers to. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>An array of type <code>Offset&lt;T&gt;</code> that contains the <code>table</code> offsets to store in the buffer in sorted order. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a typed <code>Offset</code> into the serialized data indicating where the vector is stored. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="afede51fd9c32d146cbb1832f57c5e1b7"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;Vector&lt;const T *&gt; &gt; flatbuffers::FlatBufferBuilder::CreateVectorOfStructs </td>
+          <td>(</td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serialize an array of structs into a FlatBuffer <code>vector</code>. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">T</td><td>The data type of the struct array elements. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>A pointer to the array of type <code>T</code> to serialize into the buffer as a <code>vector</code>. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The number of elements to serialize. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a typed <code>Offset</code> into the serialized data indicating where the vector is stored. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8704709a2e25ad04679212ee4126b1a1"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Offset&lt;Vector&lt;const T *&gt; &gt; flatbuffers::FlatBufferBuilder::CreateVectorOfStructs </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; T &gt; &amp;&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serialize a <code>std::vector</code> of structs into a FlatBuffer <code>vector</code>. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">T</td><td>The data type of the <code>std::vector</code> struct elements. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname"></td><td>v A const reference to the <code>std::vector</code> of structs to serialize into the buffer as a <code>vector</code>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a typed <code>Offset</code> into the serialized data indicating where the vector is stored. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0c9e507b373d598b51052fab4fa34912"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void flatbuffers::FlatBufferBuilder::Finish </td>
+          <td>(</td>
+          <td class="paramtype">Offset&lt; T &gt;&#160;</td>
+          <td class="paramname"><em>root</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>file_identifier</em> = <code>nullptr</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Finish serializing a buffer by writing the root offset. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">file_identifier</td><td>If a <code>file_identifier</code> is given, the buffer will be prefixed with a standard FlatBuffers file header. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a16a8fd46b34ad7727406c37b65b6b27a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void flatbuffers::FlatBufferBuilder::ForceDefaults </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>fd</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>In order to save space, fields that are set to their default value don't get serialized into the buffer. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">bool</td><td>fd When set to <code>true</code>, always serializes default values. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8dc35f792179df4ca850492c1796d8b8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint8_t* flatbuffers::FlatBufferBuilder::GetBufferPointer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the serialized buffer (after you call <code>Finish()</code>). </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns an <code>uint8_t</code> pointer to the FlatBuffer data inside the buffer. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3f4252e9bc005ba6c700469544fdccc9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint8_t* flatbuffers::FlatBufferBuilder::GetCurrentBufferPointer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a pointer to an unfinished buffer. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns a <code>uint8_t</code> pointer to the unfinished buffer. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac1bfd609f7f736e9a37cedae77448b63"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">uoffset_t flatbuffers::FlatBufferBuilder::GetSize </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The current size of the serialized buffer, counting from the end. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns an <code>uoffset_t</code> with the current size of the buffer. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a21c7f933d7ff1212f2090763ef9f0c44"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">unique_ptr_t flatbuffers::FlatBufferBuilder::ReleaseBufferPointer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the released pointer to the serialized buffer. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Do NOT attempt to use this FlatBufferBuilder afterwards! </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The <code>unique_ptr</code> returned has a special allocator that knows how to deallocate this pointer (since it points to the middle of an allocation). Thus, do not mix this pointer with other <code>unique_ptr</code>'s, or call <code>release()</code>/<code>reset()</code> on it. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="flatbuffers_8h_source.html">flatbuffers.h</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/classflatbuffers_1_1_flat_buffer_builder.js b/classflatbuffers_1_1_flat_buffer_builder.js
new file mode 100644
index 0000000000000000000000000000000000000000..defcc88b55a3880e23f8d9a22fcb341be240cf6d
--- /dev/null
+++ b/classflatbuffers_1_1_flat_buffer_builder.js
@@ -0,0 +1,24 @@
+var classflatbuffers_1_1_flat_buffer_builder =
+[
+    [ "FlatBufferBuilder", "classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256", null ],
+    [ "Clear", "classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412", null ],
+    [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe", null ],
+    [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5", null ],
+    [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f", null ],
+    [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506", null ],
+    [ "CreateUninitializedVector", "classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c", null ],
+    [ "CreateUninitializedVector", "classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50", null ],
+    [ "CreateVector", "classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3", null ],
+    [ "CreateVector", "classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207", null ],
+    [ "CreateVectorOfSortedTables", "classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6", null ],
+    [ "CreateVectorOfSortedTables", "classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135", null ],
+    [ "CreateVectorOfStructs", "classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7", null ],
+    [ "CreateVectorOfStructs", "classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1", null ],
+    [ "Finish", "classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912", null ],
+    [ "ForceDefaults", "classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a", null ],
+    [ "GetBufferPointer", "classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8", null ],
+    [ "GetCurrentBufferPointer", "classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9", null ],
+    [ "GetSize", "classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63", null ],
+    [ "ReleaseBufferPointer", "classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44", null ],
+    [ "kFileIdentifierLength", "classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19", null ]
+];
\ No newline at end of file
diff --git a/contributing.html b/contributing.html
new file mode 100644
index 0000000000000000000000000000000000000000..cb4e0be88532694d0dbb3f4cb68376102f2e84a8
--- /dev/null
+++ b/contributing.html
@@ -0,0 +1,140 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Contributing</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('contributing.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Contributing </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Want to contribute? Great! First, read this page (including the small print at the end).</p>
+<h1>Before you contribute</h1>
+<p>Before we can use your code, you must sign the <a href="https://developers.google.com/open-source/cla/individual?csw=1">Google Individual Contributor License Agreement</a> (CLA), which you can do online. The CLA is necessary mainly because you own the copyright to your changes, even after your contribution becomes part of our codebase, so we need your permission to use and distribute your code. We also need to be sure of various other things—for instance that you'll tell us if you know that your code infringes on other people's patents. You don't have to sign the CLA until after you've submitted your code for review and a member has approved it, but you must do it before we can put your code into our codebase. Before you start working on a larger contribution, you should get in touch with us first through the issue tracker with your idea so that we can help out and possibly guide you. Coordinating up front makes it much easier to avoid frustration later on.</p>
+<h1>Code reviews</h1>
+<p>All submissions, including submissions by project members, require review. We use Github pull requests for this purpose.</p>
+<p>Some tips for good pull requests:</p><ul>
+<li>Use our code <a href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.html">style guide</a>. When in doubt, try to stay true to the existing code of the project.</li>
+<li>Write a descriptive commit message. What problem are you solving and what are the consequences? Where and what did you test? Some good tips: <a href="http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message">here</a> and <a href="https://www.kernel.org/doc/Documentation/SubmittingPatches">here</a>.</li>
+<li>If your PR consists of multiple commits which are successive improvements / fixes to your first commit, consider squashing them into a single commit (<code>git rebase -i</code>) such that your PR is a single commit on top of the current HEAD. This make reviewing the code so much easier, and our history more readable.</li>
+</ul>
+<h1>The small print</h1>
+<p>Contributions made by corporations are covered by a different agreement than the one above, the Software Grant and Corporate Contributor License Agreement. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_05194b7bb14e4bdbd759acf3e4294839.html b/dir_05194b7bb14e4bdbd759acf3e4294839.html
new file mode 100644
index 0000000000000000000000000000000000000000..f23a11daf8f60313566b5e6a0428fd756d13fba5
--- /dev/null
+++ b/dir_05194b7bb14e4bdbd759acf3e4294839.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: php Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_05194b7bb14e4bdbd759acf3e4294839.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">php Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:_flatbuffer_builder_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_flatbuffer_builder_8php.html">FlatbufferBuilder.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_0e37bed226164927aa2c526e48e3c9af.html b/dir_0e37bed226164927aa2c526e48e3c9af.html
new file mode 100644
index 0000000000000000000000000000000000000000..2cede6dfaca107235635cc5c3fdff13f1804f890
--- /dev/null
+++ b/dir_0e37bed226164927aa2c526e48e3c9af.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: FlatBuffers Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_0e37bed226164927aa2c526e48e3c9af.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">FlatBuffers Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:_flat_buffer_builder_8cs"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_flat_buffer_builder_8cs.html">FlatBufferBuilder.cs</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_1036070c9379c90b9865e1585bb57938.html b/dir_1036070c9379c90b9865e1585bb57938.html
new file mode 100644
index 0000000000000000000000000000000000000000..0a9c8b6d4eafcdc693dde3dcba5cb552d8248332
--- /dev/null
+++ b/dir_1036070c9379c90b9865e1585bb57938.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: go Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_1036070c9379c90b9865e1585bb57938.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">go Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:builder_8go"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>builder.go</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_2867b8401105090ba43035c8b1fd9c0c.html b/dir_2867b8401105090ba43035c8b1fd9c0c.html
new file mode 100644
index 0000000000000000000000000000000000000000..4d6e48b90c5f30888df8ef5350fada91337be82a
--- /dev/null
+++ b/dir_2867b8401105090ba43035c8b1fd9c0c.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: js Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_2867b8401105090ba43035c8b1fd9c0c.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">js Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:flatbuffers_8js"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flatbuffers_8js.html">flatbuffers.js</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_427baa8a9a5be237f298d4545d0d1ce2.html b/dir_427baa8a9a5be237f298d4545d0d1ce2.html
new file mode 100644
index 0000000000000000000000000000000000000000..5892454e77fb07e2c6d6071b86d18a47c5d85a88
--- /dev/null
+++ b/dir_427baa8a9a5be237f298d4545d0d1ce2.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: net Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_427baa8a9a5be237f298d4545d0d1ce2.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">net Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_0e37bed226164927aa2c526e48e3c9af"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_0e37bed226164927aa2c526e48e3c9af.html">FlatBuffers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_4d44a7834a0220e3079d88886922def6.html b/dir_4d44a7834a0220e3079d88886922def6.html
new file mode 100644
index 0000000000000000000000000000000000000000..1fa2579753c79f8ade621721d3266318c2d013c8
--- /dev/null
+++ b/dir_4d44a7834a0220e3079d88886922def6.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: flatbuffers Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_4d44a7834a0220e3079d88886922def6.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">flatbuffers Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:flatbuffers_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flatbuffers_8h.html">flatbuffers.h</a> <a href="flatbuffers_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_6f01889fa69585f5458dd2f93b8129fa.html b/dir_6f01889fa69585f5458dd2f93b8129fa.html
new file mode 100644
index 0000000000000000000000000000000000000000..361ddb3f00e5df2ac817fe75132d8e9b816d7496
--- /dev/null
+++ b/dir_6f01889fa69585f5458dd2f93b8129fa.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: google Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_6f01889fa69585f5458dd2f93b8129fa.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">google Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_aa1ba5078724e0ea09d9b49b3a016128"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_aa1ba5078724e0ea09d9b49b3a016128.html">flatbuffers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html b/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html
new file mode 100644
index 0000000000000000000000000000000000000000..1e7a0f17cf4bca84c6802519f4dbde2a289549c5
--- /dev/null
+++ b/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: python Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_7837fde3ab9c1fb2fc5be7b717af8d79.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">python Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_bebd57e0257eca849e35e7c4620d27be"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_bebd57e0257eca849e35e7c4620d27be.html">flatbuffers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_8a22873406ddef3ffbbc0bacea2033ba.html b/dir_8a22873406ddef3ffbbc0bacea2033ba.html
new file mode 100644
index 0000000000000000000000000000000000000000..dce03e9ad0aa2598ced420f0b49b8be8a0b5df84
--- /dev/null
+++ b/dir_8a22873406ddef3ffbbc0bacea2033ba.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: com Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_8a22873406ddef3ffbbc0bacea2033ba.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">com Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_6f01889fa69585f5458dd2f93b8129fa"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_6f01889fa69585f5458dd2f93b8129fa.html">google</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_93c6ba7fb77bae0709fae89c9c13b44a.html b/dir_93c6ba7fb77bae0709fae89c9c13b44a.html
new file mode 100644
index 0000000000000000000000000000000000000000..064985600914ecbde0b1b9d27833ca6e38017e43
--- /dev/null
+++ b/dir_93c6ba7fb77bae0709fae89c9c13b44a.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: java Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_93c6ba7fb77bae0709fae89c9c13b44a.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">java Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_8a22873406ddef3ffbbc0bacea2033ba"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_8a22873406ddef3ffbbc0bacea2033ba.html">com</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_aa1ba5078724e0ea09d9b49b3a016128.html b/dir_aa1ba5078724e0ea09d9b49b3a016128.html
new file mode 100644
index 0000000000000000000000000000000000000000..559f9fa66924ea4004afbf142b2b468e17b45ec2
--- /dev/null
+++ b/dir_aa1ba5078724e0ea09d9b49b3a016128.html
@@ -0,0 +1,140 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: flatbuffers Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_aa1ba5078724e0ea09d9b49b3a016128.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">flatbuffers Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:_constants_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>Constants.java</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_flat_buffer_builder_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_flat_buffer_builder_8java.html">FlatBufferBuilder.java</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_struct_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>Struct.java</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_table_8java"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>Table.java</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_bebd57e0257eca849e35e7c4620d27be.html b/dir_bebd57e0257eca849e35e7c4620d27be.html
new file mode 100644
index 0000000000000000000000000000000000000000..92e46f6179411ced0d9d13de3dbb2858e2cd22c9
--- /dev/null
+++ b/dir_bebd57e0257eca849e35e7c4620d27be.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: flatbuffers Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_bebd57e0257eca849e35e7c4620d27be.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">flatbuffers Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:builder_8py"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>builder.py</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html
new file mode 100644
index 0000000000000000000000000000000000000000..0453b1645c8994a9ce98d856145e60f9b516112f
--- /dev/null
+++ b/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -0,0 +1,134 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: include Directory 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('dir_d44c64559bbebec7f509842c48db8b23.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">include Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_4d44a7834a0220e3079d88886922def6"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_4d44a7834a0220e3079d88886922def6.html">flatbuffers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_8h.html b/flatbuffers_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..475c2b3019957315eb9d7aa87bfcd5509508362e
--- /dev/null
+++ b/flatbuffers_8h.html
@@ -0,0 +1,139 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: flatbuffers.h File 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_8h.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">flatbuffers.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="flatbuffers_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper class to hold data needed in creation of a FlatBuffer.  <a href="classflatbuffers_1_1_flat_buffer_builder.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_8h_source.html b/flatbuffers_8h_source.html
new file mode 100644
index 0000000000000000000000000000000000000000..90ab6b37ff481575a6ba7686883fe94a8eb52a57
--- /dev/null
+++ b/flatbuffers_8h_source.html
@@ -0,0 +1,1544 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: flatbuffers.h Source File</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_8h_source.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">flatbuffers.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="flatbuffers_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright 2014 Google Inc. All rights reserved.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef FLATBUFFERS_H_</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define FLATBUFFERS_H_</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;assert.h&gt;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;type_traits&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"></span><span class="preprocessor">#if __cplusplus &lt;= 199711L &amp;&amp; \</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">    (!defined(_MSC_VER) || _MSC_VER &lt; 1600) &amp;&amp; \</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">    (!defined(__GNUC__) || \</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">      (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ &lt; 40400))</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">  #error A C++11 compatible compiler with support for the auto typing is required for FlatBuffers.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">  #error __cplusplus _MSC_VER __GNUC__  __GNUC_MINOR__  __GNUC_PATCHLEVEL__</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#endif</span></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;<span class="preprocessor">#if !defined(__clang__) &amp;&amp; \</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">    defined(__GNUC__) &amp;&amp; \</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">    (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ &lt; 40600)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="comment">// Backwards compatability for g++ 4.4, and 4.5 which don&#39;t have the nullptr and constexpr</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="comment">// keywords. Note the __clang__ check is needed, because clang presents itself as an older GNUC</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="comment">// compiler.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">  #ifndef nullptr_t</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keyword">const</span> <span class="keyword">class </span>nullptr_t {</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> <span class="keyword">operator</span> T*() <span class="keyword">const</span> { <span class="keywordflow">return</span> 0; }</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      <span class="keywordtype">void</span> operator&amp;() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    } <span class="keyword">nullptr</span> = {};</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">  #endif</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">  #ifndef constexpr</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">    #define constexpr const</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">  #endif</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// The wire format uses a little endian encoding (since that&#39;s efficient for</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// the common platforms).</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#if !defined(FLATBUFFERS_LITTLEENDIAN)</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">  #if defined(__GNUC__) || defined(__clang__)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">    #ifdef __BIG_ENDIAN__</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">      #define FLATBUFFERS_LITTLEENDIAN 0</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">    #else</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">      #define FLATBUFFERS_LITTLEENDIAN 1</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">    #endif // __BIG_ENDIAN__</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">  #elif defined(_MSC_VER)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">    #if defined(_M_PPC)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">      #define FLATBUFFERS_LITTLEENDIAN 0</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">    #else</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">      #define FLATBUFFERS_LITTLEENDIAN 1</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">    #endif</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">  #else</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">    #error Unable to determine endianness, define FLATBUFFERS_LITTLEENDIAN.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">  #endif</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#endif // !defined(FLATBUFFERS_LITTLEENDIAN)</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#define FLATBUFFERS_VERSION_MAJOR 1</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#define FLATBUFFERS_VERSION_MINOR 0</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#define FLATBUFFERS_VERSION_REVISION 0</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#define FLATBUFFERS_STRING_EXPAND(X) #X</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define FLATBUFFERS_STRING(X) FLATBUFFERS_STRING_EXPAND(X)</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#if (!defined(_MSC_VER) || _MSC_VER &gt; 1600) &amp;&amp; \</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">    (!defined(__GNUC__) || (__GNUC__ * 100 + __GNUC_MINOR__ &gt;= 407))</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">  #define FLATBUFFERS_FINAL_CLASS final</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">  #define FLATBUFFERS_FINAL_CLASS</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">/// @endcond</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">/// @file</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"></span><span class="keyword">namespace </span>flatbuffers {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">/// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment"></span><span class="comment">// Our default offset / size type, 32bit on purpose on 64bit systems.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">// Also, using a consistent offset type maintains compatibility of serialized</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">// offset values between 32bit and 64bit systems.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">typedef</span> uint32_t uoffset_t;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">// Signed offsets for references that can go in both directions.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">typedef</span> int32_t soffset_t;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">// Offset/index used in v-tables, can be changed to uint8_t in</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">// format forks to save a bit of space if desired.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">typedef</span> uint16_t voffset_t;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">typedef</span> uintmax_t largest_scalar_t;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">// Pointer to relinquished memory.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">typedef</span> std::unique_ptr&lt;uint8_t, std::function&lt;void(uint8_t * <span class="comment">/* unused */</span>)&gt;&gt;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;          unique_ptr_t;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">// Wrapper for uoffset_t to allow safe template specialization.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>Offset {</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  uoffset_t o;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  Offset() : o(0) {}</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  Offset(uoffset_t _o) : o(_o) {}</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  Offset&lt;void&gt; Union()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Offset&lt;void&gt;(o); }</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;};</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> EndianCheck() {</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="keywordtype">int</span> endiantest = 1;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="comment">// If this fails, see FLATBUFFERS_LITTLEENDIAN above.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  assert(*reinterpret_cast&lt;char *&gt;(&amp;endiantest) == FLATBUFFERS_LITTLEENDIAN);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  (void)endiantest;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;}</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; T EndianScalar(T t) {</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">  #if FLATBUFFERS_LITTLEENDIAN</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">return</span> t;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">  #else</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">    #if defined(_MSC_VER)</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">      #pragma push_macro(&quot;__builtin_bswap16&quot;)</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">      #pragma push_macro(&quot;__builtin_bswap32&quot;)</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">      #pragma push_macro(&quot;__builtin_bswap64&quot;)</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">      #define __builtin_bswap16 _byteswap_ushort</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">      #define __builtin_bswap32 _byteswap_ulong</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">      #define __builtin_bswap64 _byteswap_uint64</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">    #endif</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="comment">// If you&#39;re on the few remaining big endian platforms, we make the bold</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="comment">// assumption you&#39;re also on gcc/clang, and thus have bswap intrinsics:</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) == 1) {   <span class="comment">// Compile-time if-then&#39;s.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;      <span class="keywordflow">return</span> t;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) == 2) {</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      <span class="keyword">auto</span> r = __builtin_bswap16(*reinterpret_cast&lt;uint16_t *&gt;(&amp;t));</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;      <span class="keywordflow">return</span> *<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(&amp;r);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) == 4) {</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      <span class="keyword">auto</span> r = __builtin_bswap32(*reinterpret_cast&lt;uint32_t *&gt;(&amp;t));</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <span class="keywordflow">return</span> *<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(&amp;r);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(T) == 8) {</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;      <span class="keyword">auto</span> r = __builtin_bswap64(*reinterpret_cast&lt;uint64_t *&gt;(&amp;t));</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      <span class="keywordflow">return</span> *<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(&amp;r);</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      assert(0);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    }</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">    #if defined(_MSC_VER)</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">      #pragma pop_macro(&quot;__builtin_bswap16&quot;)</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">      #pragma pop_macro(&quot;__builtin_bswap32&quot;)</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">      #pragma pop_macro(&quot;__builtin_bswap64&quot;)</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">    #endif</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">  #endif</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; T ReadScalar(<span class="keyword">const</span> <span class="keywordtype">void</span> *p) {</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keywordflow">return</span> EndianScalar(*reinterpret_cast&lt;const T *&gt;(p));</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;}</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> WriteScalar(<span class="keywordtype">void</span> *p, T t) {</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  *<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(p) = EndianScalar(t);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;}</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">size_t</span> AlignOf() {</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">  #ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">return</span> __alignof(T);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">  #else</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">    #ifndef alignof</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      <span class="keywordflow">return</span> __alignof__(T);</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">    #else</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">alignof</span>(T);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">    #endif</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">  #endif</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;}</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">// When we read serialized data from memory, in the case of most scalars,</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">// we want to just read T, but in the case of Offset, we want to actually</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">// perform the indirection and return a pointer.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment">// The template specialization below does just that.</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">// It is wrapped in a struct since function templates can&#39;t overload on the</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="comment">// return type like this.</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment">// The typedef is for the convenience of callers of this function</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="comment">// (avoiding the need for a trailing return decltype)</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>IndirectHelper {</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keyword">typedef</span> T return_type;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> element_stride = <span class="keyword">sizeof</span>(T);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="keyword">static</span> return_type Read(<span class="keyword">const</span> uint8_t *p, uoffset_t i) {</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordflow">return</span> EndianScalar((reinterpret_cast&lt;const T *&gt;(p))[i]);</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  }</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;};</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>IndirectHelper&lt;Offset&lt;T&gt;&gt; {</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="keyword">typedef</span> <span class="keyword">const</span> T *return_type;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> element_stride = <span class="keyword">sizeof</span>(uoffset_t);</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="keyword">static</span> return_type Read(<span class="keyword">const</span> uint8_t *p, uoffset_t i) {</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    p += i * <span class="keyword">sizeof</span>(uoffset_t);</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>return_type<span class="keyword">&gt;</span>(p + ReadScalar&lt;uoffset_t&gt;(p));</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  }</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;};</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>IndirectHelper&lt;const T *&gt; {</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="keyword">typedef</span> <span class="keyword">const</span> T *return_type;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> element_stride = <span class="keyword">sizeof</span>(T);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keyword">static</span> return_type Read(<span class="keyword">const</span> uint8_t *p, uoffset_t i) {</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>T *<span class="keyword">&gt;</span>(p + i * <span class="keyword">sizeof</span>(T));</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  }</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;};</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment">// An STL compatible iterator implementation for Vector below, effectively</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="comment">// calling Get() for every element.</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keywordtype">bool</span> bConst&gt;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keyword">struct </span>VectorIterator : <span class="keyword">public</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  std::iterator &lt; std::input_iterator_tag,</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  typename std::conditional &lt; bConst,</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  const typename IndirectHelper&lt;T&gt;::return_type,</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  typename IndirectHelper&lt;T&gt;::return_type &gt; ::type, uoffset_t &gt; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keyword">typedef</span> std::iterator&lt;std::input_iterator_tag,</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keyword">typename</span> std::conditional&lt;bConst,</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keyword">const</span> <span class="keyword">typename</span> IndirectHelper&lt;T&gt;::return_type,</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keyword">typename</span> IndirectHelper&lt;T&gt;::return_type&gt;::type, uoffset_t&gt; super_type;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  VectorIterator(<span class="keyword">const</span> uint8_t *data, uoffset_t i) :</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;      data_(data + IndirectHelper&lt;T&gt;::element_stride * i) {};</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  VectorIterator(<span class="keyword">const</span> VectorIterator &amp;other) : data_(other.data_) {}</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  VectorIterator(VectorIterator &amp;&amp;other) : data_(std::move(other.data_)) {}</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  VectorIterator &amp;operator=(<span class="keyword">const</span> VectorIterator &amp;other) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    data_ = other.data_;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  }</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  VectorIterator &amp;operator=(VectorIterator &amp;&amp;other) {</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    data_ = other.data_;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  }</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> VectorIterator&amp; other)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">return</span> data_ == other.data_;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  }</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> VectorIterator&amp; other)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">return</span> data_ != other.data_;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  }</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  ptrdiff_t operator-(<span class="keyword">const</span> VectorIterator&amp; other)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordflow">return</span> (data_ - other.data_) / IndirectHelper&lt;T&gt;::element_stride;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  }</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="keyword">typename</span> super_type::value_type operator *()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordflow">return</span> IndirectHelper&lt;T&gt;::Read(data_, 0);</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  }</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  <span class="keyword">typename</span> super_type::value_type operator-&gt;()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="keywordflow">return</span> IndirectHelper&lt;T&gt;::Read(data_, 0);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  }</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  VectorIterator &amp;operator++() {</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    data_ += IndirectHelper&lt;T&gt;::element_stride;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  }</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  VectorIterator operator++(<span class="keywordtype">int</span>) {</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    VectorIterator temp(data_);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    data_ += IndirectHelper&lt;T&gt;::element_stride;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <span class="keywordflow">return</span> temp;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  }</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="keyword">const</span> uint8_t *data_;</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;};</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="comment">// This is used as a helper type for accessing vectors.</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="comment">// Vector::data() assumes the vector elements start after the length field.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">class </span>Vector {</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="keyword">typedef</span> VectorIterator&lt;T, false&gt; iterator;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="keyword">typedef</span> VectorIterator&lt;T, true&gt; const_iterator;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  uoffset_t size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EndianScalar(length_); }</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="comment">// Deprecated: use size(). Here for backwards compatibility.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  uoffset_t Length()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size(); }</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> IndirectHelper&lt;T&gt;::return_type return_type;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  return_type Get(uoffset_t i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    assert(i &lt; size());</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordflow">return</span> IndirectHelper&lt;T&gt;::Read(Data(), i);</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  }</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  return_type operator[](uoffset_t i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Get(i); }</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <span class="comment">// If this is a Vector of enums, T will be its storage type, not the enum</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  <span class="comment">// type. This function makes it convenient to retrieve value with enum</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;  <span class="comment">// type E.</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> E&gt; E GetEnum(uoffset_t i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>E<span class="keyword">&gt;</span>(Get(i));</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  }</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">void</span> *GetStructFromOffset(<span class="keywordtype">size_t</span> o)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(Data() + o);</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  }</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  iterator begin() { <span class="keywordflow">return</span> iterator(Data(), 0); }</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  const_iterator begin()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> const_iterator(Data(), 0); }</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  iterator end() { <span class="keywordflow">return</span> iterator(Data(), size()); }</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  const_iterator end()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> const_iterator(Data(), size()); }</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <span class="comment">// Change elements if you have a non-const pointer to this object.</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  <span class="comment">// Scalars only. See reflection.h, and the documentation.</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  <span class="keywordtype">void</span> Mutate(uoffset_t i, T val) {</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    assert(i &lt; size());</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    WriteScalar(data() + i, val);</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  }</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <span class="comment">// Change an element of a vector of tables (or strings).</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <span class="comment">// &quot;val&quot; points to the new table/string, as you can obtain from</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  <span class="comment">// e.g. reflection::AddFlatBuffer().</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  <span class="keywordtype">void</span> MutateOffset(uoffset_t i, <span class="keyword">const</span> uint8_t *val) {</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    assert(i &lt; size());</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    assert(<span class="keyword">sizeof</span>(T) == <span class="keyword">sizeof</span>(uoffset_t));</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    WriteScalar(data() + i, val - (Data() + i * <span class="keyword">sizeof</span>(uoffset_t)));</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  }</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  <span class="comment">// The raw data in little endian format. Use with care.</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  <span class="keyword">const</span> uint8_t *Data()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t *<span class="keyword">&gt;</span>(&amp;length_ + 1);</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  }</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  uint8_t *Data() {</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>uint8_t *<span class="keyword">&gt;</span>(&amp;length_ + 1);</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  }</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  <span class="comment">// Similarly, but typed, much like std::vector::data</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="keyword">const</span> T *data()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>T *<span class="keyword">&gt;</span>(Data()); }</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  T *data() { <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(Data()); }</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> K&gt; return_type LookupByKey(K key)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <span class="keywordtype">void</span> *search_result = std::bsearch(&amp;key, Data(), size(),</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        IndirectHelper&lt;T&gt;::element_stride, KeyCompare&lt;K&gt;);</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="keywordflow">if</span> (!search_result) {</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;  <span class="comment">// Key not found.</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    }</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keyword">const</span> uint8_t *element = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t *<span class="keyword">&gt;</span>(search_result);</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="keywordflow">return</span> IndirectHelper&lt;T&gt;::Read(element, 0);</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  }</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  <span class="comment">// This class is only used to access pre-existing data. Don&#39;t ever</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="comment">// try to construct these manually.</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  Vector();</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  uoffset_t length_;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> K&gt; <span class="keyword">static</span> <span class="keywordtype">int</span> KeyCompare(<span class="keyword">const</span> <span class="keywordtype">void</span> *ap, <span class="keyword">const</span> <span class="keywordtype">void</span> *bp) {</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="keyword">const</span> K *key = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>K *<span class="keyword">&gt;</span>(ap);</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keyword">const</span> uint8_t *data = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t *<span class="keyword">&gt;</span>(bp);</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="keyword">auto</span> table = IndirectHelper&lt;T&gt;::Read(data, 0);</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">// std::bsearch compares with the operands transposed, so we negate the</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <span class="comment">// result here.</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="keywordflow">return</span> -table-&gt;KeyCompareWithValue(*key);</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;  }</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;};</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="comment">// Represent a vector much like the template above, but in this case we</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="comment">// don&#39;t know what the element types are (used with reflection.h).</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="keyword">class </span>VectorOfAny {</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;  uoffset_t size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EndianScalar(length_); }</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;  <span class="keyword">const</span> uint8_t *Data()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t *<span class="keyword">&gt;</span>(&amp;length_ + 1);</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;  }</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  uint8_t *Data() {</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>uint8_t *<span class="keyword">&gt;</span>(&amp;length_ + 1);</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  }</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;  VectorOfAny();</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;  uoffset_t length_;</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;};</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="comment">// Convenient helper function to get the length of any vector, regardless</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="comment">// of wether it is null or not (the field is not set).</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span> VectorLength(<span class="keyword">const</span> Vector&lt;T&gt; *v) {</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  <span class="keywordflow">return</span> v ? v-&gt;Length() : 0;</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;}</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="keyword">struct </span>String : <span class="keyword">public</span> Vector&lt;char&gt; {</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *c_str()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(Data()); }</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;  std::string str()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> std::string(c_str(), Length()); }</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;  <span class="keywordtype">bool</span> operator &lt;(<span class="keyword">const</span> String &amp;o)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="keywordflow">return</span> strcmp(c_str(), o.c_str()) &lt; 0;</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;  }</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;};</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="comment">// Simple indirection for buffer allocation, to allow this to be overridden</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="comment">// with custom allocation (see the FlatBufferBuilder constructor).</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="keyword">class </span>simple_allocator {</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;  <span class="keyword">virtual</span> ~simple_allocator() {}</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;  <span class="keyword">virtual</span> uint8_t *allocate(<span class="keywordtype">size_t</span> size)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> uint8_t[size]; }</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> deallocate(uint8_t *p)<span class="keyword"> const </span>{ <span class="keyword">delete</span>[] p; }</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;};</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="comment">// This is a minimal replication of std::vector&lt;uint8_t&gt; functionality,</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="comment">// except growing from higher to lower addresses. i.e push_back() inserts data</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="comment">// in the lowest address in the vector.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="keyword">class </span>vector_downward {</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  <span class="keyword">explicit</span> vector_downward(<span class="keywordtype">size_t</span> initial_size,</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;                           <span class="keyword">const</span> simple_allocator &amp;allocator)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    : reserved_(initial_size),</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;      buf_(allocator.allocate(reserved_)),</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;      cur_(buf_ + reserved_),</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;      allocator_(allocator) {</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    assert((initial_size &amp; (<span class="keyword">sizeof</span>(largest_scalar_t) - 1)) == 0);</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;  }</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  ~vector_downward() {</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keywordflow">if</span> (buf_)</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;      allocator_.deallocate(buf_);</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;  }</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  <span class="keywordtype">void</span> clear() {</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <span class="keywordflow">if</span> (buf_ == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;      buf_ = allocator_.allocate(reserved_);</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    cur_ = buf_ + reserved_;</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;  }</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  <span class="comment">// Relinquish the pointer to the caller.</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  unique_ptr_t release() {</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    <span class="comment">// Actually deallocate from the start of the allocated memory.</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    std::function&lt;void(uint8_t *)&gt; deleter(</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;      std::bind(&amp;simple_allocator::deallocate, allocator_, buf_));</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <span class="comment">// Point to the desired offset.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    unique_ptr_t retval(data(), deleter);</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="comment">// Don&#39;t deallocate when this instance is destroyed.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    buf_ = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    cur_ = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keywordflow">return</span> retval;</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  }</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;  <span class="keywordtype">size_t</span> growth_policy(<span class="keywordtype">size_t</span> bytes) {</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="keywordflow">return</span> (bytes / 2) &amp; ~(<span class="keyword">sizeof</span>(largest_scalar_t) - 1);</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  }</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  uint8_t *make_space(<span class="keywordtype">size_t</span> len) {</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="keywordflow">if</span> (len &gt; static_cast&lt;size_t&gt;(cur_ - buf_)) {</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;      <span class="keyword">auto</span> old_size = size();</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;      <span class="keyword">auto</span> largest_align = AlignOf&lt;largest_scalar_t&gt;();</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;      reserved_ += (std::max)(len, growth_policy(reserved_));</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;      <span class="comment">// Round up to avoid undefined behavior from unaligned loads and stores.</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;      reserved_ = (reserved_ + (largest_align - 1)) &amp; ~(largest_align - 1);</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;      <span class="keyword">auto</span> new_buf = allocator_.allocate(reserved_);</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;      <span class="keyword">auto</span> new_cur = new_buf + reserved_ - old_size;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;      memcpy(new_cur, cur_, old_size);</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;      cur_ = new_cur;</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;      allocator_.deallocate(buf_);</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;      buf_ = new_buf;</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    }</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    cur_ -= len;</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="comment">// Beyond this, signed offsets may not have enough range:</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <span class="comment">// (FlatBuffers &gt; 2GB not supported).</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    assert(size() &lt; (1UL &lt;&lt; (<span class="keyword">sizeof</span>(soffset_t) * 8 - 1)) - 1);</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="keywordflow">return</span> cur_;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  }</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;  uoffset_t size()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    assert(cur_ != <span class="keyword">nullptr</span> &amp;&amp; buf_ != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>uoffset_t<span class="keyword">&gt;</span>(reserved_ - (cur_ - buf_));</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;  }</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;  uint8_t *data()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    assert(cur_ != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    <span class="keywordflow">return</span> cur_;</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;  }</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  uint8_t *data_at(<span class="keywordtype">size_t</span> offset) { <span class="keywordflow">return</span> buf_ + reserved_ - offset; }</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;  <span class="comment">// push() &amp; fill() are most frequently called with small byte counts (&lt;= 4),</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;  <span class="comment">// which is why we&#39;re using loops rather than calling memcpy/memset.</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;  <span class="keywordtype">void</span> push(<span class="keyword">const</span> uint8_t *bytes, <span class="keywordtype">size_t</span> num) {</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    <span class="keyword">auto</span> dest = make_space(num);</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; num; i++) dest[i] = bytes[i];</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;  }</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;  <span class="keywordtype">void</span> fill(<span class="keywordtype">size_t</span> zero_pad_bytes) {</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    <span class="keyword">auto</span> dest = make_space(zero_pad_bytes);</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; zero_pad_bytes; i++) dest[i] = 0;</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;  }</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  <span class="keywordtype">void</span> pop(<span class="keywordtype">size_t</span> bytes_to_remove) { cur_ += bytes_to_remove; }</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;  <span class="comment">// You shouldn&#39;t really be copying instances of this class.</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  vector_downward(<span class="keyword">const</span> vector_downward &amp;);</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  vector_downward &amp;operator=(<span class="keyword">const</span> vector_downward &amp;);</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  <span class="keywordtype">size_t</span> reserved_;</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;  uint8_t *buf_;</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;  uint8_t *cur_;  <span class="comment">// Points at location between empty (below) and used (above).</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  <span class="keyword">const</span> simple_allocator &amp;allocator_;</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;};</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="comment">// Converts a Field ID to a virtual table offset.</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="keyword">inline</span> voffset_t FieldIndexToOffset(voffset_t field_id) {</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;  <span class="comment">// Should correspond to what EndTable() below builds up.</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> fixed_fields = 2;  <span class="comment">// Vtable size and Object Size.</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;  <span class="keywordflow">return</span> (field_id + fixed_fields) * <span class="keyword">sizeof</span>(voffset_t);</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;}</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="comment">// Computes how many bytes you&#39;d have to pad to be able to write an</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="comment">// &quot;scalar_size&quot; scalar if the buffer had grown to &quot;buf_size&quot; (downwards in</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;<span class="comment">// memory).</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">size_t</span> PaddingBytes(<span class="keywordtype">size_t</span> buf_size, <span class="keywordtype">size_t</span> scalar_size) {</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;  <span class="keywordflow">return</span> ((~buf_size) + 1) &amp; (scalar_size - 1);</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;}<span class="comment"></span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="comment">/// @endcond</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="comment">/// @addtogroup flatbuffers_cpp_api</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="comment">/// @{</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="comment">/// @class FlatBufferBuilder</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="comment">/// @brief Helper class to hold data needed in creation of a FlatBuffer.</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="comment">/// To serialize data, you typically call one of the `Create*()` functions in</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="comment">/// the generated code, which in turn call a sequence of `StartTable`/</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;<span class="comment">/// `PushElement`/`AddElement`/`EndTable`, or the builtin `CreateString`/</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;<span class="comment">/// `CreateVector` functions. Do this is depth-first order to build up a tree to</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="comment">/// the root. `Finish()` wraps up the buffer ready for transport.</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html">  553</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a><span class="comment"></span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="comment">/// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="comment"></span>FLATBUFFERS_FINAL_CLASS<span class="comment"></span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="comment">/// @endcond</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="comment"></span>{</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160; <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="comment">  /// @brief Default constructor for FlatBufferBuilder.</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;<span class="comment">  /// @param[in] initial_size The initial size of the buffer, in bytes. Defaults</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="comment">  /// to`1024`.</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="comment">  /// @param[in] allocator A pointer to the `simple_allocator` that should be</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="comment">  /// used. Defaults to `nullptr`, which means the `default_allocator` will be</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="comment">  /// be used.</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">  565</a></span>&#160;<span class="comment"></span>  <span class="keyword">explicit</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">FlatBufferBuilder</a>(uoffset_t initial_size = 1024,</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;                             <span class="keyword">const</span> simple_allocator *allocator = <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;      : buf_(initial_size, allocator ? *allocator : default_allocator),</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        nested(false), finished(false), minalign_(1), force_defaults_(false) {</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    offsetbuf_.reserve(16);  <span class="comment">// Avoid first few reallocs.</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    vtables_.reserve(16);</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    EndianCheck();</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;  }</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="comment">  /// @brief Reset all the state in this FlatBufferBuilder so it can be reused</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="comment">  /// to construct another buffer.</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412">  576</a></span>&#160;<span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412">Clear</a>() {</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    buf_.clear();</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    offsetbuf_.clear();</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    nested = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    finished = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    vtables_.clear();</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    minalign_ = 1;</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;  }</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;<span class="comment">  /// @brief The current size of the serialized buffer, counting from the end.</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="comment">  /// @return Returns an `uoffset_t` with the current size of the buffer.</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">  587</a></span>&#160;<span class="comment"></span>  uoffset_t <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> buf_.size(); }</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="comment">  /// @brief Get the serialized buffer (after you call `Finish()`).</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="comment">  /// @return Returns an `uint8_t` pointer to the FlatBuffer data inside the</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="comment">  /// buffer.</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8">  592</a></span>&#160;<span class="comment"></span>  uint8_t *<a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8">GetBufferPointer</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    Finished();</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    <span class="keywordflow">return</span> buf_.data();</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;  }</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="comment">  /// @brief Get a pointer to an unfinished buffer.</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="comment">  /// @return Returns a `uint8_t` pointer to the unfinished buffer.</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9">  599</a></span>&#160;<span class="comment"></span>  uint8_t *<a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9">GetCurrentBufferPointer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> buf_.data(); }</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="comment">  /// @brief Get the released pointer to the serialized buffer.</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="comment">  /// @warning Do NOT attempt to use this FlatBufferBuilder afterwards!</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="comment">  /// @return The `unique_ptr` returned has a special allocator that knows how</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="comment">  /// to deallocate this pointer (since it points to the middle of an</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="comment">  /// allocation). Thus, do not mix this pointer with other `unique_ptr`&#39;s, or</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="comment">  /// call `release()`/`reset()` on it.</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44">  607</a></span>&#160;<span class="comment"></span>  unique_ptr_t <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44">ReleaseBufferPointer</a>() {</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    Finished();</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    <span class="keywordflow">return</span> buf_.release();</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;  }</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="comment">  /// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="comment"></span>  <span class="keywordtype">void</span> Finished()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;    <span class="comment">// If you get this assert, you&#39;re attempting to get access a buffer</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <span class="comment">// which hasn&#39;t been finished yet. Be sure to call</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    <span class="comment">// FlatBufferBuilder::Finish with your root table.</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    <span class="comment">// If you really need to access an unfinished buffer, call</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    <span class="comment">// GetCurrentBufferPointer instead.</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    assert(finished);</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;  }<span class="comment"></span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="comment">  /// @endcond</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="comment">  /// @brief In order to save space, fields that are set to their default value</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="comment">  /// don&#39;t get serialized into the buffer.</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="comment">  /// @param[in] bool fd When set to `true`, always serializes default values.</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a">  626</a></span>&#160;<span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a">ForceDefaults</a>(<span class="keywordtype">bool</span> fd) { force_defaults_ = fd; }</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="comment">  /// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="comment"></span>  <span class="keywordtype">void</span> Pad(<span class="keywordtype">size_t</span> num_bytes) { buf_.fill(num_bytes); }</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;  <span class="keywordtype">void</span> Align(<span class="keywordtype">size_t</span> elem_size) {</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    <span class="keywordflow">if</span> (elem_size &gt; minalign_) minalign_ = elem_size;</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    buf_.fill(PaddingBytes(buf_.size(), elem_size));</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;  }</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;  <span class="keywordtype">void</span> PushFlatBuffer(<span class="keyword">const</span> uint8_t *bytes, <span class="keywordtype">size_t</span> size) {</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    PushBytes(bytes, size);</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    finished = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;  }</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;  <span class="keywordtype">void</span> PushBytes(<span class="keyword">const</span> uint8_t *bytes, <span class="keywordtype">size_t</span> size) {</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    buf_.push(bytes, size);</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;  }</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;  <span class="keywordtype">void</span> PopBytes(<span class="keywordtype">size_t</span> amount) { buf_.pop(amount); }</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> AssertScalarT() {</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    <span class="comment">// The code assumes power of 2 sizes and endian-swap-ability.</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;    static_assert(std::is_scalar&lt;T&gt;::value</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        <span class="comment">// The Offset&lt;T&gt; type is essentially a scalar but fails is_scalar.</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        || <span class="keyword">sizeof</span>(T) == <span class="keyword">sizeof</span>(Offset&lt;void&gt;),</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;           <span class="stringliteral">&quot;T must be a scalar type&quot;</span>);</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;  }</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;  <span class="comment">// Write a single aligned scalar to the buffer</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; uoffset_t PushElement(T element) {</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    AssertScalarT&lt;T&gt;();</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    T litle_endian_element = EndianScalar(element);</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    Align(<span class="keyword">sizeof</span>(T));</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    PushBytes(reinterpret_cast&lt;uint8_t *&gt;(&amp;litle_endian_element), <span class="keyword">sizeof</span>(T));</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>();</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;  }</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; uoffset_t PushElement(Offset&lt;T&gt; off) {</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    <span class="comment">// Special case for offsets: see ReferTo below.</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    <span class="keywordflow">return</span> PushElement(ReferTo(off.o));</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;  }</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;  <span class="comment">// When writing fields, we track where they are, so we can create correct</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;  <span class="comment">// vtables later.</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;  <span class="keywordtype">void</span> TrackField(voffset_t field, uoffset_t off) {</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    FieldLoc fl = { off, field };</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    offsetbuf_.push_back(fl);</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;  }</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;  <span class="comment">// Like PushElement, but additionally tracks the field this represents.</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> AddElement(voffset_t field, T e, T def) {</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    <span class="comment">// We don&#39;t serialize values equal to the default.</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;    <span class="keywordflow">if</span> (e == def &amp;&amp; !force_defaults_) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;    <span class="keyword">auto</span> off = PushElement(e);</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    TrackField(field, off);</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;  }</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> AddOffset(voffset_t field, Offset&lt;T&gt; off) {</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    <span class="keywordflow">if</span> (!off.o) <span class="keywordflow">return</span>;  <span class="comment">// An offset of 0 means NULL, don&#39;t store.</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    AddElement(field, ReferTo(off.o), static_cast&lt;uoffset_t&gt;(0));</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;  }</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> AddStruct(voffset_t field, <span class="keyword">const</span> T *structptr) {</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;    <span class="keywordflow">if</span> (!structptr) <span class="keywordflow">return</span>;  <span class="comment">// Default, don&#39;t store.</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    Align(AlignOf&lt;T&gt;());</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;    PushBytes(reinterpret_cast&lt;const uint8_t *&gt;(structptr), <span class="keyword">sizeof</span>(T));</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    TrackField(field, <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>());</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;  }</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;  <span class="keywordtype">void</span> AddStructOffset(voffset_t field, uoffset_t off) {</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    TrackField(field, off);</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;  }</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;  <span class="comment">// Offsets initially are relative to the end of the buffer (downwards).</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;  <span class="comment">// This function converts them to be relative to the current location</span></div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;  <span class="comment">// in the buffer (when stored here), pointing upwards.</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;  uoffset_t ReferTo(uoffset_t off) {</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;    <span class="comment">// Align to ensure GetSize() below is correct.</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    Align(<span class="keyword">sizeof</span>(uoffset_t));</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    <span class="comment">// Offset must refer to something already in buffer.</span></div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    assert(off &amp;&amp; off &lt;= <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>());</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>() - off + <span class="keyword">sizeof</span>(uoffset_t);</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;  }</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;  <span class="keywordtype">void</span> NotNested() {</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;    <span class="comment">// If you hit this, you&#39;re trying to construct a Table/Vector/String</span></div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    <span class="comment">// during the construction of its parent table (between the MyTableBuilder</span></div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    <span class="comment">// and table.Finish().</span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    <span class="comment">// Move the creation of these sub-objects to above the MyTableBuilder to</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="comment">// not get this assert.</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    <span class="comment">// Ignoring this assert may appear to work in simple cases, but the reason</span></div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <span class="comment">// it is here is that storing objects in-line may cause vtable offsets</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    <span class="comment">// to not fit anymore. It also leads to vtable duplication.</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    assert(!nested);</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;  }</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;  <span class="comment">// From generated code (or from the parser), we call StartTable/EndTable</span></div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;  <span class="comment">// with a sequence of AddElement calls in between.</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;  uoffset_t StartTable() {</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    NotNested();</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    nested = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>();</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;  }</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;  <span class="comment">// This finishes one serialized object by generating the vtable if it&#39;s a</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;  <span class="comment">// table, comparing it against existing vtables, and writing the</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;  <span class="comment">// resulting vtable offset.</span></div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;  uoffset_t EndTable(uoffset_t start, voffset_t numfields) {</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <span class="comment">// If you get this assert, a corresponding StartTable wasn&#39;t called.</span></div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;    assert(nested);</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    <span class="comment">// Write the vtable offset, which is the start of any Table.</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;    <span class="comment">// We fill it&#39;s value later.</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;    <span class="keyword">auto</span> vtableoffsetloc = PushElement&lt;soffset_t&gt;(0);</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;    <span class="comment">// Write a vtable, which consists entirely of voffset_t elements.</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    <span class="comment">// It starts with the number of offsets, followed by a type id, followed</span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    <span class="comment">// by the offsets themselves. In reverse:</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    buf_.fill(numfields * <span class="keyword">sizeof</span>(voffset_t));</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <span class="keyword">auto</span> table_object_size = vtableoffsetloc - start;</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;    assert(table_object_size &lt; 0x10000);  <span class="comment">// Vtable use 16bit offsets.</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    PushElement&lt;voffset_t&gt;(<span class="keyword">static_cast&lt;</span>voffset_t<span class="keyword">&gt;</span>(table_object_size));</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;    PushElement&lt;voffset_t&gt;(FieldIndexToOffset(numfields));</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;    <span class="comment">// Write the offsets into the table</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> field_location = offsetbuf_.begin();</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;              field_location != offsetbuf_.end();</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;            ++field_location) {</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;      <span class="keyword">auto</span> pos = <span class="keyword">static_cast&lt;</span>voffset_t<span class="keyword">&gt;</span>(vtableoffsetloc - field_location-&gt;off);</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;      <span class="comment">// If this asserts, it means you&#39;ve set a field twice.</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;      assert(!ReadScalar&lt;voffset_t&gt;(buf_.data() + field_location-&gt;id));</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;      WriteScalar&lt;voffset_t&gt;(buf_.data() + field_location-&gt;id, pos);</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    }</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;    offsetbuf_.clear();</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;    <span class="keyword">auto</span> vt1 = <span class="keyword">reinterpret_cast&lt;</span>voffset_t *<span class="keyword">&gt;</span>(buf_.data());</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    <span class="keyword">auto</span> vt1_size = ReadScalar&lt;voffset_t&gt;(vt1);</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <span class="keyword">auto</span> vt_use = <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>();</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    <span class="comment">// See if we already have generated a vtable with this exact same</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    <span class="comment">// layout before. If so, make it point to the old one, remove this one.</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = vtables_.begin(); it != vtables_.end(); ++it) {</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;      <span class="keyword">auto</span> vt2 = <span class="keyword">reinterpret_cast&lt;</span>voffset_t *<span class="keyword">&gt;</span>(buf_.data_at(*it));</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;      <span class="keyword">auto</span> vt2_size = *vt2;</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;      <span class="keywordflow">if</span> (vt1_size != vt2_size || memcmp(vt2, vt1, vt1_size)) <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;      vt_use = *it;</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;      buf_.pop(<a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>() - vtableoffsetloc);</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;      <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    }</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    <span class="comment">// If this is a new vtable, remember it.</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;    <span class="keywordflow">if</span> (vt_use == <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>()) {</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;      vtables_.push_back(vt_use);</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    }</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    <span class="comment">// Fill the vtable offset we created above.</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    <span class="comment">// The offset points from the beginning of the object to where the</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    <span class="comment">// vtable is stored.</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    <span class="comment">// Offsets default direction is downward in memory for future format</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    <span class="comment">// flexibility (storing all vtables at the start of the file).</span></div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    WriteScalar(buf_.data_at(vtableoffsetloc),</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;                <span class="keyword">static_cast&lt;</span>soffset_t<span class="keyword">&gt;</span>(vt_use) -</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;                  static_cast&lt;soffset_t&gt;(vtableoffsetloc));</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    nested = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;    <span class="keywordflow">return</span> vtableoffsetloc;</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;  }</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;  <span class="comment">// This checks a required field has been set in a given table that has</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;  <span class="comment">// just been constructed.</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> Required(Offset&lt;T&gt; table, voffset_t field) {</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;    <span class="keyword">auto</span> table_ptr = buf_.data_at(table.o);</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keyword">auto</span> vtable_ptr = table_ptr - ReadScalar&lt;soffset_t&gt;(table_ptr);</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;    <span class="keywordtype">bool</span> ok = ReadScalar&lt;voffset_t&gt;(vtable_ptr + field) != 0;</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    <span class="comment">// If this fails, the caller will show what field needs to be set.</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;    assert(ok);</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    (void)ok;</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;  }</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;  uoffset_t StartStruct(<span class="keywordtype">size_t</span> alignment) {</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;    Align(alignment);</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>();</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;  }</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;  uoffset_t EndStruct() { <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>(); }</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;  <span class="keywordtype">void</span> ClearOffsets() { offsetbuf_.clear(); }</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;  <span class="comment">// Aligns such that when &quot;len&quot; bytes are written, an object can be written</span></div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;  <span class="comment">// after it with &quot;alignment&quot; without padding.</span></div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;  <span class="keywordtype">void</span> PreAlign(<span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> alignment) {</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;    buf_.fill(PaddingBytes(<a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>() + len, alignment));</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;  }</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> PreAlign(<span class="keywordtype">size_t</span> len) {</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    AssertScalarT&lt;T&gt;();</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;    PreAlign(len, <span class="keyword">sizeof</span>(T));</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;  }<span class="comment"></span></div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;<span class="comment">  /// @endcond</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;<span class="comment">  /// @brief Store a string in the buffer, which can contain any binary data.</span></div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;<span class="comment">  /// @param[in] str A const char pointer to the data to be stored as a string.</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;<span class="comment">  /// @param[in] len The number of bytes that should be stored from `str`.</span></div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;<span class="comment">  /// @return Returns the offset in the buffer where the string starts.</span></div>
+<div class="line"><a name="l00823"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">  823</a></span>&#160;<span class="comment"></span>  Offset&lt;String&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">CreateString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, <span class="keywordtype">size_t</span> len) {</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;    NotNested();</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;    PreAlign&lt;uoffset_t&gt;(len + 1);  <span class="comment">// Always 0-terminated.</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    buf_.fill(1);</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    PushBytes(reinterpret_cast&lt;const uint8_t *&gt;(str), len);</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;    PushElement(static_cast&lt;uoffset_t&gt;(len));</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <span class="keywordflow">return</span> Offset&lt;String&gt;(<a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">GetSize</a>());</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;  }</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;<span class="comment">  /// @brief Store a string in the buffer, which can contain any binary data.</span></div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;<span class="comment">  /// @param[in] str A const char pointer to a C-string to add to the buffer.</span></div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;<span class="comment">  /// @return Returns the offset in the buffer where the string starts.</span></div>
+<div class="line"><a name="l00835"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5">  835</a></span>&#160;<span class="comment"></span>  Offset&lt;String&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5">CreateString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str) {</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">CreateString</a>(str, strlen(str));</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;  }</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;<span class="comment">  /// @brief Store a string in the buffer, which can contain any binary data.</span></div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;<span class="comment">  /// @param[in] str A const reference to a std::string to store in the buffer.</span></div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;<span class="comment">  /// @return Returns the offset in the buffer where the string starts.</span></div>
+<div class="line"><a name="l00842"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f">  842</a></span>&#160;<span class="comment"></span>  Offset&lt;String&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f">CreateString</a>(<span class="keyword">const</span> std::string &amp;str) {</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">CreateString</a>(str.c_str(), str.length());</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;  }</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;<span class="comment">  /// @brief Store a string in the buffer, which can contain any binary data.</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="comment">  /// @param[in] str A const pointer to a `String` struct to add to the buffer.</span></div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;<span class="comment">  /// @return Returns the offset in the buffer where the string starts</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506">  849</a></span>&#160;<span class="comment"></span>  Offset&lt;String&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506">CreateString</a>(<span class="keyword">const</span> String *str) {</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">CreateString</a>(str-&gt;c_str(), str-&gt;Length());</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;  }</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;<span class="comment">  /// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;<span class="comment"></span>  uoffset_t EndVector(<span class="keywordtype">size_t</span> len) {</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    assert(nested);  <span class="comment">// Hit if no corresponding StartVector.</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    nested = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;    <span class="keywordflow">return</span> PushElement(static_cast&lt;uoffset_t&gt;(len));</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;  }</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;  <span class="keywordtype">void</span> StartVector(<span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> elemsize) {</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;    NotNested();</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    nested = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    PreAlign&lt;uoffset_t&gt;(len * elemsize);</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    PreAlign(len * elemsize, elemsize);  <span class="comment">// Just in case elemsize &gt; uoffset_t.</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;  }</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;  <span class="comment">// Call this right before StartVector/CreateVector if you want to force the</span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;  <span class="comment">// alignment to be something different than what the element size would</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;  <span class="comment">// normally dictate.</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;  <span class="comment">// This is useful when storing a nested_flatbuffer in a vector of bytes,</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;  <span class="comment">// or when storing SIMD floats, etc.</span></div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;  <span class="keywordtype">void</span> ForceVectorAlignment(<span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> elemsize, <span class="keywordtype">size_t</span> alignment) {</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    PreAlign(len * elemsize, alignment);</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;  }</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;  uint8_t *ReserveElements(<span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> elemsize) {</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;    <span class="keywordflow">return</span> buf_.make_space(len * elemsize);</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;  }<span class="comment"></span></div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;<span class="comment">  /// @endcond</span></div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;<span class="comment">  /// @brief Serialize an array into a FlatBuffer `vector`.</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;<span class="comment">  /// @tparam T The data type of the array elements.</span></div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;<span class="comment">  /// @param[in] v A pointer to the array of type `T` to serialize into the</span></div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;<span class="comment">  /// buffer as a `vector`.</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;<span class="comment">  /// @param[in] len The number of elements to serialize.</span></div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;<span class="comment">  /// @return Returns a typed `Offset` into the serialized data indicating</span></div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;<span class="comment">  /// where the vector is stored.</span></div>
+<div class="line"><a name="l00888"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3">  888</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; Offset&lt;Vector&lt;T&gt;&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3">CreateVector</a>(<span class="keyword">const</span> T *v, <span class="keywordtype">size_t</span> len) {</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;    StartVector(len, <span class="keyword">sizeof</span>(T));</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = len; i &gt; 0; ) {</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;      PushElement(v[--i]);</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    }</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;    <span class="keywordflow">return</span> Offset&lt;Vector&lt;T&gt;&gt;(EndVector(len));</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;  }</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;<span class="comment">  /// @brief Serialize a `std::vector` into a FlatBuffer `vector`.</span></div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;<span class="comment">  /// @tparam T The data type of the `std::vector` elements.</span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;<span class="comment">  /// @param v A const reference to the `std::vector` to serialize into the</span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;<span class="comment">  /// buffer as a `vector`.</span></div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;<span class="comment">  /// @return Returns a typed `Offset` into the serialized data indicating</span></div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;<span class="comment">  /// where the vector is stored.</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207">  902</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; Offset&lt;Vector&lt;T&gt;&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207">CreateVector</a>(<span class="keyword">const</span> std::vector&lt;T&gt; &amp;v) {</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3">CreateVector</a>(v.data(), v.size());</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;  }</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;<span class="comment">  /// @brief Serialize an array of structs into a FlatBuffer `vector`.</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;<span class="comment">  /// @tparam T The data type of the struct array elements.</span></div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;<span class="comment">  /// @param[in] v A pointer to the array of type `T` to serialize into the</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;<span class="comment">  /// buffer as a `vector`.</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;<span class="comment">  /// @param[in] len The number of elements to serialize.</span></div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;<span class="comment">  /// @return Returns a typed `Offset` into the serialized data indicating</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;<span class="comment">  /// where the vector is stored.</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">  913</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; Offset&lt;Vector&lt;const T *&gt;&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">CreateVectorOfStructs</a>(</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;                                                       <span class="keyword">const</span> T *v, <span class="keywordtype">size_t</span> len) {</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    StartVector(len * <span class="keyword">sizeof</span>(T) / AlignOf&lt;T&gt;(), AlignOf&lt;T&gt;());</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    PushBytes(reinterpret_cast&lt;const uint8_t *&gt;(v), <span class="keyword">sizeof</span>(T) * len);</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    <span class="keywordflow">return</span> Offset&lt;Vector&lt;const T *&gt;&gt;(EndVector(len));</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;  }</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;<span class="comment">  /// @brief Serialize a `std::vector` of structs into a FlatBuffer `vector`.</span></div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;<span class="comment">  /// @tparam T The data type of the `std::vector` struct elements.</span></div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;<span class="comment">  /// @param[in]] v A const reference to the `std::vector` of structs to</span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;<span class="comment">  /// serialize into the buffer as a `vector`.</span></div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;<span class="comment">  /// @return Returns a typed `Offset` into the serialized data indicating</span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;<span class="comment">  /// where the vector is stored.</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1">  926</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; Offset&lt;Vector&lt;const T *&gt;&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1">CreateVectorOfStructs</a>(</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;                                                      <span class="keyword">const</span> std::vector&lt;T&gt; &amp;v) {</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">CreateVectorOfStructs</a>(v.data(), v.size());</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;  }</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;<span class="comment">  /// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;  <span class="keyword">struct </span>TableKeyComparator {</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;  TableKeyComparator(vector_downward&amp; buf) : buf_(buf) {}</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;    <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> Offset&lt;T&gt; &amp;a, <span class="keyword">const</span> Offset&lt;T&gt; &amp;b)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;      <span class="keyword">auto</span> table_a = <span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(buf_.data_at(a.o));</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;      <span class="keyword">auto</span> table_b = <span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(buf_.data_at(b.o));</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;      <span class="keywordflow">return</span> table_a-&gt;KeyCompareLessThan(table_b);</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;    }</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;    vector_downward&amp; buf_;</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  };<span class="comment"></span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;<span class="comment">  /// @endcond</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;<span class="comment">  /// @brief Serialize an array of `table` offsets as a `vector` in the buffer</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;<span class="comment">  /// in sorted order.</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;<span class="comment">  /// @tparam T The data type that the offset refers to.</span></div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;<span class="comment">  /// @param[in] v An array of type `Offset&lt;T&gt;` that contains the `table`</span></div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;<span class="comment">  /// offsets to store in the buffer in sorted order.</span></div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;<span class="comment">  /// @param[in] len The number of elements to store in the `vector`.</span></div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;<span class="comment">  /// @return Returns a typed `Offset` into the serialized data indicating</span></div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;<span class="comment">  /// where the vector is stored.</span></div>
+<div class="line"><a name="l00952"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6">  952</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; Offset&lt;Vector&lt;Offset&lt;T&gt;&gt;&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6">CreateVectorOfSortedTables</a>(</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;                                                     Offset&lt;T&gt; *v, <span class="keywordtype">size_t</span> len) {</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;    std::sort(v, v + len, TableKeyComparator&lt;T&gt;(buf_));</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3">CreateVector</a>(v, len);</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;  }</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;<span class="comment">  /// @brief Serialize an array of `table` offsets as a `vector` in the buffer</span></div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;<span class="comment">  /// in sorted order.</span></div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;<span class="comment">  /// @tparam T The data type that the offset refers to.</span></div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;<span class="comment">  /// @param[in] v An array of type `Offset&lt;T&gt;` that contains the `table`</span></div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;<span class="comment">  /// offsets to store in the buffer in sorted order.</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;<span class="comment">  /// @return Returns a typed `Offset` into the serialized data indicating</span></div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;<span class="comment">  /// where the vector is stored.</span></div>
+<div class="line"><a name="l00965"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135">  965</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; Offset&lt;Vector&lt;Offset&lt;T&gt;&gt;&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135">CreateVectorOfSortedTables</a>(</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;                                                    std::vector&lt;Offset&lt;T&gt;&gt; *v) {</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6">CreateVectorOfSortedTables</a>(v-&gt;data(), v-&gt;size());</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;  }</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;<span class="comment">  /// @brief Specialized version of `CreateVector` for non-copying use cases.</span></div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;<span class="comment">  /// Write the data any time later to the returned buffer pointer `buf`.</span></div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;<span class="comment">  /// @param[in] len The number of elements to store in the `vector`.</span></div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;<span class="comment">  /// @param[in] elemsize The size of each element in the `vector`.</span></div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;<span class="comment">  /// @param[out] buf A pointer to a `uint8_t` pointer that can be</span></div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;<span class="comment">  /// written to at a later time to serialize the data into a `vector`</span></div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;<span class="comment">  /// in the buffer.</span></div>
+<div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">  977</a></span>&#160;<span class="comment"></span>  uoffset_t <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">CreateUninitializedVector</a>(<span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> elemsize,</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;                                      uint8_t **buf) {</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;    NotNested();</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;    StartVector(len, elemsize);</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;    *buf = buf_.make_space(len * elemsize);</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <span class="keywordflow">return</span> EndVector(len);</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;  }</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;<span class="comment">  /// @brief Specialized version of `CreateVector` for non-copying use cases.</span></div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;<span class="comment">  /// Write the data any time later to the returned buffer pointer `buf`.</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;<span class="comment">  /// @tparam T The data type of the data that will be stored in the buffer</span></div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;<span class="comment">  /// as a `vector`.</span></div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;<span class="comment">  /// @param[in] len The number of elements to store in the `vector`.</span></div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;<span class="comment">  /// @param[out] buf A pointer to a pointer of type `T` that can be</span></div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;<span class="comment">  /// written to at a later time to serialize the data into a `vector`</span></div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;<span class="comment">  /// in the buffer.</span></div>
+<div class="line"><a name="l00993"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50">  993</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; Offset&lt;Vector&lt;T&gt;&gt; <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50">CreateUninitializedVector</a>(</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;                                                    <span class="keywordtype">size_t</span> len, T **buf) {</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">CreateUninitializedVector</a>(len, <span class="keyword">sizeof</span>(T),</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;                                     reinterpret_cast&lt;uint8_t **&gt;(buf));</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;  }</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;<span class="comment">  /// @brief The length of a FlatBuffer file header.</span></div>
+<div class="line"><a name="l01000"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19"> 1000</a></span>&#160;<span class="comment"></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">kFileIdentifierLength</a> = 4;</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;<span class="comment">  /// @brief Finish serializing a buffer by writing the root offset.</span></div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;<span class="comment">  /// @param[in] file_identifier If a `file_identifier` is given, the buffer</span></div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;<span class="comment">  /// will be prefixed with a standard FlatBuffers file header.</span></div>
+<div class="line"><a name="l01005"></a><span class="lineno"><a class="line" href="classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912"> 1005</a></span>&#160;<span class="comment"></span>  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912">Finish</a>(Offset&lt;T&gt; root,</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *file_identifier = <span class="keyword">nullptr</span>) {</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;    NotNested();</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;    <span class="comment">// This will cause the whole buffer to be aligned.</span></div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;    PreAlign(<span class="keyword">sizeof</span>(uoffset_t) + (file_identifier ? <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">kFileIdentifierLength</a> : 0),</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;             minalign_);</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;    <span class="keywordflow">if</span> (file_identifier) {</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;      assert(strlen(file_identifier) == kFileIdentifierLength);</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;      buf_.push(reinterpret_cast&lt;const uint8_t *&gt;(file_identifier),</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;                kFileIdentifierLength);</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;    }</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;    PushElement(ReferTo(root.o));  <span class="comment">// Location of root.</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;    finished = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;  }</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;  <span class="comment">// You shouldn&#39;t really be copying instances of this class.</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;  <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">FlatBufferBuilder</a>(<span class="keyword">const</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> &amp;);</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;  <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a> &amp;);</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;  <span class="keyword">struct </span>FieldLoc {</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;    uoffset_t off;</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;    voffset_t id;</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;  };</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;  simple_allocator default_allocator;</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;  vector_downward buf_;</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;  <span class="comment">// Accumulating offsets of table members while it is being built.</span></div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;  std::vector&lt;FieldLoc&gt; offsetbuf_;</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;  <span class="comment">// Ensure objects are not nested.</span></div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;  <span class="keywordtype">bool</span> nested;</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;  <span class="comment">// Ensure the buffer is finished before it is being accessed.</span></div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;  <span class="keywordtype">bool</span> finished;</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;  std::vector&lt;uoffset_t&gt; vtables_;  <span class="comment">// todo: Could make this into a map?</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;  <span class="keywordtype">size_t</span> minalign_;</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;  <span class="keywordtype">bool</span> force_defaults_;  <span class="comment">// Serialize values equal to their defaults anyway.</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;};<span class="comment"></span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;<span class="comment">/// @}</span></div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;<span class="comment">/// @cond FLATBUFFERS_INTERNAL</span></div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;<span class="comment"></span><span class="comment">// Helpers to get a typed pointer to the root object contained in the buffer.</span></div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; T *GetMutableRoot(<span class="keywordtype">void</span> *buf) {</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;  EndianCheck();</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;  <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(<span class="keyword">reinterpret_cast&lt;</span>uint8_t *<span class="keyword">&gt;</span>(buf) +</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;    EndianScalar(*reinterpret_cast&lt;uoffset_t *&gt;(buf)));</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;}</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">const</span> T *GetRoot(<span class="keyword">const</span> <span class="keywordtype">void</span> *buf) {</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;  <span class="keywordflow">return</span> GetMutableRoot&lt;T&gt;(<span class="keyword">const_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(buf));</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;}</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;<span class="comment">// Helper to see if the identifier in a buffer has the expected value.</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> BufferHasIdentifier(<span class="keyword">const</span> <span class="keywordtype">void</span> *buf, <span class="keyword">const</span> <span class="keywordtype">char</span> *identifier) {</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;  <span class="keywordflow">return</span> strncmp(reinterpret_cast&lt;const char *&gt;(buf) + <span class="keyword">sizeof</span>(uoffset_t),</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;                 identifier, <a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">FlatBufferBuilder::kFileIdentifierLength</a>) == 0;</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;}</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="comment">// Helper class to verify the integrity of a FlatBuffer</span></div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;<span class="keyword">class </span>Verifier FLATBUFFERS_FINAL_CLASS {</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;  Verifier(<span class="keyword">const</span> uint8_t *buf, <span class="keywordtype">size_t</span> buf_len, <span class="keywordtype">size_t</span> _max_depth = 64,</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;           <span class="keywordtype">size_t</span> _max_tables = 1000000)</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    : buf_(buf), end_(buf + buf_len), depth_(0), max_depth_(_max_depth),</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;      num_tables_(0), max_tables_(_max_tables)</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;    {}</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;  <span class="comment">// Central location where any verification failures register.</span></div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;  <span class="keywordtype">bool</span> Check(<span class="keywordtype">bool</span> ok)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;<span class="preprocessor">    #ifdef FLATBUFFERS_DEBUG_VERIFICATION_FAILURE</span></div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;      assert(ok);</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="preprocessor">    #endif</span></div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;    <span class="keywordflow">return</span> ok;</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;  }</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;  <span class="comment">// Verify any range within the buffer.</span></div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;  <span class="keywordtype">bool</span> Verify(<span class="keyword">const</span> <span class="keywordtype">void</span> *elem, <span class="keywordtype">size_t</span> elem_len)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;    <span class="keywordflow">return</span> Check(elem_len &lt;= (<span class="keywordtype">size_t</span>) (end_ - buf_) &amp;&amp; elem &gt;= buf_ &amp;&amp; elem &lt;= end_ - elem_len);</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;  }</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;  <span class="comment">// Verify a range indicated by sizeof(T).</span></div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> Verify(<span class="keyword">const</span> <span class="keywordtype">void</span> *elem)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;    <span class="keywordflow">return</span> Verify(elem, <span class="keyword">sizeof</span>(T));</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;  }</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;  <span class="comment">// Verify a pointer (may be NULL) of a table type.</span></div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> VerifyTable(<span class="keyword">const</span> T *table) {</div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;    <span class="keywordflow">return</span> !table || table-&gt;Verify(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;  }</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;  <span class="comment">// Verify a pointer (may be NULL) of any vector type.</span></div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> Verify(<span class="keyword">const</span> Vector&lt;T&gt; *vec)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <span class="keyword">const</span> uint8_t *end;</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;    <span class="keywordflow">return</span> !vec ||</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;           VerifyVector(reinterpret_cast&lt;const uint8_t *&gt;(vec), <span class="keyword">sizeof</span>(T),</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;                        &amp;end);</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;  }</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;  <span class="comment">// Verify a pointer (may be NULL) of a vector to struct.</span></div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> Verify(<span class="keyword">const</span> Vector&lt;const T *&gt; *vec)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;    <span class="keywordflow">return</span> Verify(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>Vector&lt;T&gt; *<span class="keyword">&gt;</span>(vec));</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;  }</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;  <span class="comment">// Verify a pointer (may be NULL) to string.</span></div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;  <span class="keywordtype">bool</span> Verify(<span class="keyword">const</span> String *str)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;    <span class="keyword">const</span> uint8_t *end;</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;    <span class="keywordflow">return</span> !str ||</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;           (VerifyVector(reinterpret_cast&lt;const uint8_t *&gt;(str), 1, &amp;end) &amp;&amp;</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;            Verify(end, 1) &amp;&amp;      <span class="comment">// Must have terminator</span></div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;            Check(*end == <span class="charliteral">&#39;\0&#39;</span>));  <span class="comment">// Terminating byte must be 0.</span></div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;  }</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;</div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;  <span class="comment">// Common code between vectors and strings.</span></div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;  <span class="keywordtype">bool</span> VerifyVector(<span class="keyword">const</span> uint8_t *vec, <span class="keywordtype">size_t</span> elem_size,</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;                    <span class="keyword">const</span> uint8_t **end)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;    <span class="comment">// Check we can read the size field.</span></div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;    <span class="keywordflow">if</span> (!Verify&lt;uoffset_t&gt;(vec)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;    <span class="comment">// Check the whole array. If this is a string, the byte past the array</span></div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;    <span class="comment">// must be 0.</span></div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;    <span class="keyword">auto</span> size = ReadScalar&lt;uoffset_t&gt;(vec);</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;    <span class="keyword">auto</span> byte_size = <span class="keyword">sizeof</span>(size) + elem_size * size;</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;    *end = vec + byte_size;</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;    <span class="keywordflow">return</span> Verify(vec, byte_size);</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;  }</div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;</div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;  <span class="comment">// Special case for string contents, after the above has been called.</span></div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;  <span class="keywordtype">bool</span> VerifyVectorOfStrings(<span class="keyword">const</span> Vector&lt;Offset&lt;String&gt;&gt; *vec)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;      <span class="keywordflow">if</span> (vec) {</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;        <span class="keywordflow">for</span> (uoffset_t i = 0; i &lt; vec-&gt;size(); i++) {</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;          <span class="keywordflow">if</span> (!Verify(vec-&gt;Get(i))) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;        }</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;      }</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;  }</div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;  <span class="comment">// Special case for table contents, after the above has been called.</span></div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> VerifyVectorOfTables(<span class="keyword">const</span> Vector&lt;Offset&lt;T&gt;&gt; *vec) {</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;    <span class="keywordflow">if</span> (vec) {</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;      <span class="keywordflow">for</span> (uoffset_t i = 0; i &lt; vec-&gt;size(); i++) {</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;        <span class="keywordflow">if</span> (!vec-&gt;Get(i)-&gt;Verify(*<span class="keyword">this</span>)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;      }</div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;    }</div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;  }</div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;</div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;  <span class="comment">// Verify this whole buffer, starting with root type T.</span></div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> VerifyBuffer() {</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;    <span class="comment">// Call T::Verify, which must be in the generated code for this type.</span></div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;    <span class="keywordflow">return</span> Verify&lt;uoffset_t&gt;(buf_) &amp;&amp;</div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;      reinterpret_cast&lt;const T *&gt;(buf_ + ReadScalar&lt;uoffset_t&gt;(buf_))-&gt;</div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;        Verify(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;  }</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;</div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;  <span class="comment">// Called at the start of a table to increase counters measuring data</span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;  <span class="comment">// structure depth and amount, and possibly bails out with false if</span></div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;  <span class="comment">// limits set by the constructor have been hit. Needs to be balanced</span></div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;  <span class="comment">// with EndTable().</span></div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;  <span class="keywordtype">bool</span> VerifyComplexity() {</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;    depth_++;</div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;    num_tables_++;</div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;    <span class="keywordflow">return</span> Check(depth_ &lt;= max_depth_ &amp;&amp; num_tables_ &lt;= max_tables_);</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;  }</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;  <span class="comment">// Called at the end of a table to pop the depth count.</span></div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;  <span class="keywordtype">bool</span> EndTable() {</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;    depth_--;</div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;  }</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;  <span class="keyword">const</span> uint8_t *buf_;</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;  <span class="keyword">const</span> uint8_t *end_;</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;  <span class="keywordtype">size_t</span> depth_;</div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;  <span class="keywordtype">size_t</span> max_depth_;</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;  <span class="keywordtype">size_t</span> num_tables_;</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;  <span class="keywordtype">size_t</span> max_tables_;</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;};</div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;</div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;<span class="comment">// &quot;structs&quot; are flat structures that do not have an offset table, thus</span></div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;<span class="comment">// always have all members present and do not support forwards/backwards</span></div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;<span class="comment">// compatible extensions.</span></div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;</div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;<span class="keyword">class </span>Struct FLATBUFFERS_FINAL_CLASS {</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; T GetField(uoffset_t o)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;    <span class="keywordflow">return</span> ReadScalar&lt;T&gt;(&amp;data_[o]);</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;  }</div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; T GetPointer(uoffset_t o)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;    <span class="keyword">auto</span> p = &amp;data_[o];</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T<span class="keyword">&gt;</span>(p + ReadScalar&lt;uoffset_t&gt;(p));</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;  }</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;</div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; T GetStruct(uoffset_t o)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span>T<span class="keyword">&gt;</span>(&amp;data_[o]);</div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;  }</div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;  <span class="keyword">const</span> uint8_t *GetAddressOf(uoffset_t o)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> &amp;data_[o]; }</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;  uint8_t *GetAddressOf(uoffset_t o) { <span class="keywordflow">return</span> &amp;data_[o]; }</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;  uint8_t data_[1];</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;};</div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;<span class="comment">// &quot;tables&quot; use an offset table (possibly shared) that allows fields to be</span></div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;<span class="comment">// omitted and added at will, but uses an extra indirection to read.</span></div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;<span class="keyword">class </span>Table {</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;  <span class="comment">// This gets the field offset for any of the functions below it, or 0</span></div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;  <span class="comment">// if the field was not present.</span></div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;  voffset_t GetOptionalFieldOffset(voffset_t field)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;    <span class="comment">// The vtable offset is always at the start.</span></div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    <span class="keyword">auto</span> vtable = data_ - ReadScalar&lt;soffset_t&gt;(data_);</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <span class="comment">// The first element is the size of the vtable (fields + type id + itself).</span></div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <span class="keyword">auto</span> vtsize = ReadScalar&lt;voffset_t&gt;(vtable);</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;    <span class="comment">// If the field we&#39;re accessing is outside the vtable, we&#39;re reading older</span></div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;    <span class="comment">// data, so it&#39;s the same as if the offset was 0 (not present).</span></div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;    <span class="keywordflow">return</span> field &lt; vtsize ? ReadScalar&lt;voffset_t&gt;(vtable + field) : 0;</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;  }</div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; T GetField(voffset_t field, T defaultval)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;    <span class="keywordflow">return</span> field_offset ? ReadScalar&lt;T&gt;(data_ + field_offset) : defaultval;</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;  }</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt; P GetPointer(voffset_t field) {</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;    <span class="keyword">auto</span> p = data_ + field_offset;</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;    <span class="keywordflow">return</span> field_offset</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;      ? <span class="keyword">reinterpret_cast&lt;</span>P<span class="keyword">&gt;</span>(p + ReadScalar&lt;uoffset_t&gt;(p))</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;      : nullptr;</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;  }</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt; P GetPointer(voffset_t field)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span>Table *<span class="keyword">&gt;</span>(<span class="keyword">this</span>)-&gt;GetPointer&lt;P&gt;(field);</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;  }</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt; P GetStruct(voffset_t field)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;    <span class="keyword">auto</span> p = <span class="keyword">const_cast&lt;</span>uint8_t *<span class="keyword">&gt;</span>(data_ + field_offset);</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;    <span class="keywordflow">return</span> field_offset ? <span class="keyword">reinterpret_cast&lt;</span>P<span class="keyword">&gt;</span>(p) : <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;  }</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> SetField(voffset_t field, T val) {</div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;    <span class="keywordflow">if</span> (!field_offset) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;    WriteScalar(data_ + field_offset, val);</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;  }</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;  <span class="keywordtype">bool</span> SetPointer(voffset_t field, <span class="keyword">const</span> uint8_t *val) {</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;    <span class="keywordflow">if</span> (!field_offset) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;    WriteScalar(data_ + field_offset, val - (data_ + field_offset));</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;  }</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;  uint8_t *GetAddressOf(voffset_t field) {</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;    <span class="keywordflow">return</span> field_offset ? data_ + field_offset : <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;  }</div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;  <span class="keyword">const</span> uint8_t *GetAddressOf(voffset_t field)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span>Table *<span class="keyword">&gt;</span>(<span class="keyword">this</span>)-&gt;GetAddressOf(field);</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;  }</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;  uint8_t *GetVTable() { <span class="keywordflow">return</span> data_ - ReadScalar&lt;soffset_t&gt;(data_); }</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;  <span class="keywordtype">bool</span> CheckField(voffset_t field)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;    <span class="keywordflow">return</span> GetOptionalFieldOffset(field) != 0;</div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;  }</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;  <span class="comment">// Verify the vtable of this table.</span></div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;  <span class="comment">// Call this once per table, followed by VerifyField once per field.</span></div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;  <span class="keywordtype">bool</span> VerifyTableStart(Verifier &amp;verifier)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;    <span class="comment">// Check the vtable offset.</span></div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;    <span class="keywordflow">if</span> (!verifier.Verify&lt;soffset_t&gt;(data_)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;    <span class="keyword">auto</span> vtable = data_ - ReadScalar&lt;soffset_t&gt;(data_);</div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;    <span class="comment">// Check the vtable size field, then check vtable fits in its entirety.</span></div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;    <span class="keywordflow">return</span> verifier.VerifyComplexity() &amp;&amp;</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;           verifier.Verify&lt;voffset_t&gt;(vtable) &amp;&amp;</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;           verifier.Verify(vtable, ReadScalar&lt;voffset_t&gt;(vtable));</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;  }</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;  <span class="comment">// Verify a particular field.</span></div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> VerifyField(<span class="keyword">const</span> Verifier &amp;verifier,</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;                                        voffset_t field)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;    <span class="comment">// Calling GetOptionalFieldOffset should be safe now thanks to</span></div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;    <span class="comment">// VerifyTable().</span></div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;    <span class="comment">// Check the actual field.</span></div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;    <span class="keywordflow">return</span> !field_offset || verifier.Verify&lt;T&gt;(data_ + field_offset);</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;  }</div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;  <span class="comment">// VerifyField for required fields.</span></div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> VerifyFieldRequired(<span class="keyword">const</span> Verifier &amp;verifier,</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;                                        voffset_t field)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;    <span class="keyword">auto</span> field_offset = GetOptionalFieldOffset(field);</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;    <span class="keywordflow">return</span> verifier.Check(field_offset != 0) &amp;&amp;</div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;           verifier.Verify&lt;T&gt;(data_ + field_offset);</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;  }</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;</div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <span class="keyword">private</span>:</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;  <span class="comment">// private constructor &amp; copy constructor: you obtain instances of this</span></div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;  <span class="comment">// class by pointing to existing data only</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;  Table();</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;  Table(<span class="keyword">const</span> Table &amp;other);</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;  uint8_t data_[1];</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;};</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;<span class="comment">// Helper function to test if a field is present, using any of the field</span></div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;<span class="comment">// enums in the generated code.</span></div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;<span class="comment">// `table` must be a generated table type. Since this is a template parameter,</span></div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;<span class="comment">// this is not typechecked to be a subclass of Table, so beware!</span></div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;<span class="comment">// Note: this function will return false for fields equal to the default</span></div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;<span class="comment">// value, since they&#39;re not stored in the buffer (unless force_defaults was</span></div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;<span class="comment">// used).</span></div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span> IsFieldPresent(<span class="keyword">const</span> T *table, voffset_t field) {</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;  <span class="comment">// Cast, since Table is a private baseclass of any table types.</span></div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;  <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>Table *<span class="keyword">&gt;</span>(table)-&gt;CheckField(field);</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;}</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;<span class="comment">// Utility function for reverse lookups on the EnumNames*() functions</span></div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;<span class="comment">// (in the generated C++ code)</span></div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;<span class="comment">// names must be NULL terminated.</span></div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> LookupEnum(<span class="keyword">const</span> <span class="keywordtype">char</span> **names, <span class="keyword">const</span> <span class="keywordtype">char</span> *name) {</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span> **p = names; *p; p++)</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;    <span class="keywordflow">if</span> (!strcmp(*p, name))</div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(p - names);</div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;  <span class="keywordflow">return</span> -1;</div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;}</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;<span class="comment">// These macros allow us to layout a struct with a guarantee that they&#39;ll end</span></div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;<span class="comment">// up looking the same on different compilers and platforms.</span></div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;<span class="comment">// It does this by disallowing the compiler to do any padding, and then</span></div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;<span class="comment">// does padding itself by inserting extra padding fields that make every</span></div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;<span class="comment">// element aligned to its own size.</span></div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;<span class="comment">// Additionally, it manually sets the alignment of the struct as a whole,</span></div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;<span class="comment">// which is typically its largest element, or a custom size set in the schema</span></div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;<span class="comment">// by the force_align attribute.</span></div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;<span class="comment">// These are used in the generated code only.</span></div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;<span class="preprocessor">#if defined(_MSC_VER)</span></div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;<span class="preprocessor">  #define MANUALLY_ALIGNED_STRUCT(alignment) \</span></div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;<span class="preprocessor">    __pragma(pack(1)); \</span></div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;<span class="preprocessor">    struct __declspec(align(alignment))</span></div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;<span class="preprocessor">  #define STRUCT_END(name, size) \</span></div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;<span class="preprocessor">    __pragma(pack()); \</span></div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;<span class="preprocessor">    static_assert(sizeof(name) == size, &quot;compiler breaks packing rules&quot;)</span></div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) || defined(__clang__)</span></div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;<span class="preprocessor">  #define MANUALLY_ALIGNED_STRUCT(alignment) \</span></div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;<span class="preprocessor">    _Pragma(&quot;pack(1)&quot;) \</span></div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;<span class="preprocessor">    struct __attribute__((aligned(alignment)))</span></div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;<span class="preprocessor">  #define STRUCT_END(name, size) \</span></div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;<span class="preprocessor">    _Pragma(&quot;pack()&quot;) \</span></div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;<span class="preprocessor">    static_assert(sizeof(name) == size, &quot;compiler breaks packing rules&quot;)</span></div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;<span class="preprocessor">  #error Unknown compiler, please define structure alignment macros</span></div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;</div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;<span class="comment">// String which identifies the current version of FlatBuffers.</span></div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;<span class="comment">// flatbuffer_version_string is used by Google developers to identify which</span></div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;<span class="comment">// applications uploaded to Google Play are using this library.  This allows</span></div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;<span class="comment">// the development team at Google to determine the popularity of the library.</span></div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;<span class="comment">// How it works: Applications that are uploaded to the Google Play Store are</span></div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;<span class="comment">// scanned for this version string.  We track which applications are using it</span></div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;<span class="comment">// to measure popularity.  You are free to remove it (of course) but we would</span></div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;<span class="comment">// appreciate if you left it in.</span></div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;</div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;<span class="comment">// Weak linkage is culled by VS &amp; doesn&#39;t work on cygwin.</span></div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;<span class="preprocessor">#if !defined(_WIN32) &amp;&amp; !defined(__CYGWIN__)</span></div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;<span class="keyword">extern</span> <span class="keyword">volatile</span> __attribute__((weak)) const <span class="keywordtype">char</span> *flatbuffer_version_string;</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;volatile __attribute__((weak)) const <span class="keywordtype">char</span> *flatbuffer_version_string =</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;  &quot;FlatBuffers &quot;</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;  FLATBUFFERS_STRING(FLATBUFFERS_VERSION_MAJOR) &quot;.&quot;</div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;  FLATBUFFERS_STRING(FLATBUFFERS_VERSION_MINOR) &quot;.&quot;</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;  FLATBUFFERS_STRING(FLATBUFFERS_VERSION_REVISION);</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<span class="preprocessor">#endif  // !defined(_WIN32) &amp;&amp; !defined(__CYGWIN__)</span></div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;<span class="comment">/// @endcond</span></div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;<span class="comment"></span>}  <span class="comment">// namespace flatbuffers</span></div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;<span class="preprocessor">#endif  // FLATBUFFERS_H_</span></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_ac2b96292fa0fb1534fe7fd218a094d0c"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">flatbuffers::FlatBufferBuilder::CreateUninitializedVector</a></div><div class="ttdeci">uoffset_t CreateUninitializedVector(size_t len, size_t elemsize, uint8_t **buf)</div><div class="ttdoc">Specialized version of CreateVector for non-copying use cases. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:977</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_ac64d11c219559ea51567eab556e13135"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135">flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables</a></div><div class="ttdeci">Offset&lt; Vector&lt; Offset&lt; T &gt; &gt; &gt; CreateVectorOfSortedTables(std::vector&lt; Offset&lt; T &gt;&gt; *v)</div><div class="ttdoc">Serialize an array of table offsets as a vector in the buffer in sorted order. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:965</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></div><div class="ttdoc">Helper class to hold data needed in creation of a FlatBuffer. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:553</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_ac1bfd609f7f736e9a37cedae77448b63"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">flatbuffers::FlatBufferBuilder::GetSize</a></div><div class="ttdeci">uoffset_t GetSize() const </div><div class="ttdoc">The current size of the serialized buffer, counting from the end. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:587</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_ac72b54a75e0c329e0ce0b8fab758e256"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">flatbuffers::FlatBufferBuilder::FlatBufferBuilder</a></div><div class="ttdeci">FlatBufferBuilder(uoffset_t initial_size=1024, const simple_allocator *allocator=nullptr)</div><div class="ttdoc">Default constructor for FlatBufferBuilder. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:565</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_ae94b94ba71ea0aeb2d9a98c43b713412"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412">flatbuffers::FlatBufferBuilder::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdoc">Reset all the state in this FlatBufferBuilder so it can be reused to construct another buffer...</div><div class="ttdef"><b>Definition:</b> flatbuffers.h:576</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a21c7f933d7ff1212f2090763ef9f0c44"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44">flatbuffers::FlatBufferBuilder::ReleaseBufferPointer</a></div><div class="ttdeci">unique_ptr_t ReleaseBufferPointer()</div><div class="ttdoc">Get the released pointer to the serialized buffer. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:607</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_aec6f9df2a0366b540b24822414d92cbe"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe">flatbuffers::FlatBufferBuilder::CreateString</a></div><div class="ttdeci">Offset&lt; String &gt; CreateString(const char *str, size_t len)</div><div class="ttdoc">Store a string in the buffer, which can contain any binary data. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:823</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a16a8fd46b34ad7727406c37b65b6b27a"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a">flatbuffers::FlatBufferBuilder::ForceDefaults</a></div><div class="ttdeci">void ForceDefaults(bool fd)</div><div class="ttdoc">In order to save space, fields that are set to their default value don&#39;t get serialized into the buff...</div><div class="ttdef"><b>Definition:</b> flatbuffers.h:626</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_af8c7583c92e1d1d6f438977da5158d19"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">flatbuffers::FlatBufferBuilder::kFileIdentifierLength</a></div><div class="ttdeci">static const size_t kFileIdentifierLength</div><div class="ttdoc">The length of a FlatBuffer file header. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:1000</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_ac0b6a1c5d949f20ad84367fc0f9e1506"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506">flatbuffers::FlatBufferBuilder::CreateString</a></div><div class="ttdeci">Offset&lt; String &gt; CreateString(const String *str)</div><div class="ttdoc">Store a string in the buffer, which can contain any binary data. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:849</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_afede51fd9c32d146cbb1832f57c5e1b7"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">flatbuffers::FlatBufferBuilder::CreateVectorOfStructs</a></div><div class="ttdeci">Offset&lt; Vector&lt; const T * &gt; &gt; CreateVectorOfStructs(const T *v, size_t len)</div><div class="ttdoc">Serialize an array of structs into a FlatBuffer vector. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:913</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_aad93d113ac24e86ed04b5236b3f4c0c5"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5">flatbuffers::FlatBufferBuilder::CreateString</a></div><div class="ttdeci">Offset&lt; String &gt; CreateString(const char *str)</div><div class="ttdoc">Store a string in the buffer, which can contain any binary data. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:835</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a8c3af55e64f5cda9aefa38ac5287ef9f"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f">flatbuffers::FlatBufferBuilder::CreateString</a></div><div class="ttdeci">Offset&lt; String &gt; CreateString(const std::string &amp;str)</div><div class="ttdoc">Store a string in the buffer, which can contain any binary data. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:842</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_af715dd24dd37cb0151dc7a980ad0f207"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207">flatbuffers::FlatBufferBuilder::CreateVector</a></div><div class="ttdeci">Offset&lt; Vector&lt; T &gt; &gt; CreateVector(const std::vector&lt; T &gt; &amp;v)</div><div class="ttdoc">Serialize a std::vector into a FlatBuffer vector. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:902</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a2305b63d367845972b51669dd995cc50"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50">flatbuffers::FlatBufferBuilder::CreateUninitializedVector</a></div><div class="ttdeci">Offset&lt; Vector&lt; T &gt; &gt; CreateUninitializedVector(size_t len, T **buf)</div><div class="ttdoc">Specialized version of CreateVector for non-copying use cases. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:993</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a3f4252e9bc005ba6c700469544fdccc9"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9">flatbuffers::FlatBufferBuilder::GetCurrentBufferPointer</a></div><div class="ttdeci">uint8_t * GetCurrentBufferPointer() const </div><div class="ttdoc">Get a pointer to an unfinished buffer. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:599</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a2cca5c89246a53e80e6ad9487f4c36f3"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3">flatbuffers::FlatBufferBuilder::CreateVector</a></div><div class="ttdeci">Offset&lt; Vector&lt; T &gt; &gt; CreateVector(const T *v, size_t len)</div><div class="ttdoc">Serialize an array into a FlatBuffer vector. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:888</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a2130ef232ff405eebe2e7f184ecd06e6"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6">flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables</a></div><div class="ttdeci">Offset&lt; Vector&lt; Offset&lt; T &gt; &gt; &gt; CreateVectorOfSortedTables(Offset&lt; T &gt; *v, size_t len)</div><div class="ttdoc">Serialize an array of table offsets as a vector in the buffer in sorted order. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:952</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a8704709a2e25ad04679212ee4126b1a1"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1">flatbuffers::FlatBufferBuilder::CreateVectorOfStructs</a></div><div class="ttdeci">Offset&lt; Vector&lt; const T * &gt; &gt; CreateVectorOfStructs(const std::vector&lt; T &gt; &amp;v)</div><div class="ttdoc">Serialize a std::vector of structs into a FlatBuffer vector. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:926</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a0c9e507b373d598b51052fab4fa34912"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912">flatbuffers::FlatBufferBuilder::Finish</a></div><div class="ttdeci">void Finish(Offset&lt; T &gt; root, const char *file_identifier=nullptr)</div><div class="ttdoc">Finish serializing a buffer by writing the root offset. </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:1005</div></div>
+<div class="ttc" id="classflatbuffers_1_1_flat_buffer_builder_html_a8dc35f792179df4ca850492c1796d8b8"><div class="ttname"><a href="classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8">flatbuffers::FlatBufferBuilder::GetBufferPointer</a></div><div class="ttdeci">uint8_t * GetBufferPointer() const </div><div class="ttdoc">Get the serialized buffer (after you call Finish()). </div><div class="ttdef"><b>Definition:</b> flatbuffers.h:592</div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_8js.html b/flatbuffers_8js.html
new file mode 100644
index 0000000000000000000000000000000000000000..5295a60dc9ce2dc508354f9b26fda8c4e6c7ea7c
--- /dev/null
+++ b/flatbuffers_8js.html
@@ -0,0 +1,173 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: flatbuffers.js File 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_8js.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">flatbuffers.js File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ga1c36e9d7e294c61d1d6ab0923ea91e8e"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga1c36e9d7e294c61d1d6ab0923ea91e8e">addFloat32</a></td></tr>
+<tr class="memdesc:ga1c36e9d7e294c61d1d6ab0923ea91e8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>float32</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="group__flatbuffers__javascript__api.html#ga1c36e9d7e294c61d1d6ab0923ea91e8e">More...</a><br /></td></tr>
+<tr class="separator:ga1c36e9d7e294c61d1d6ab0923ea91e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga53af3baf50f96de783c06a35934d63bf"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga53af3baf50f96de783c06a35934d63bf">addFloat64</a></td></tr>
+<tr class="memdesc:ga53af3baf50f96de783c06a35934d63bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>float64</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="group__flatbuffers__javascript__api.html#ga53af3baf50f96de783c06a35934d63bf">More...</a><br /></td></tr>
+<tr class="separator:ga53af3baf50f96de783c06a35934d63bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8260b8431cb8b1c32b5997646cb102a9"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga8260b8431cb8b1c32b5997646cb102a9">addInt16</a></td></tr>
+<tr class="memdesc:ga8260b8431cb8b1c32b5997646cb102a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int16</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="group__flatbuffers__javascript__api.html#ga8260b8431cb8b1c32b5997646cb102a9">More...</a><br /></td></tr>
+<tr class="separator:ga8260b8431cb8b1c32b5997646cb102a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaba2edd0e1e53d1c2815bb1a6ee54abf5"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#gaba2edd0e1e53d1c2815bb1a6ee54abf5">addInt32</a></td></tr>
+<tr class="memdesc:gaba2edd0e1e53d1c2815bb1a6ee54abf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int32</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="group__flatbuffers__javascript__api.html#gaba2edd0e1e53d1c2815bb1a6ee54abf5">More...</a><br /></td></tr>
+<tr class="separator:gaba2edd0e1e53d1c2815bb1a6ee54abf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga17a48cc241b10348fd6751ed3a973e2d"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga17a48cc241b10348fd6751ed3a973e2d">addInt64</a></td></tr>
+<tr class="memdesc:ga17a48cc241b10348fd6751ed3a973e2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int64</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="group__flatbuffers__javascript__api.html#ga17a48cc241b10348fd6751ed3a973e2d">More...</a><br /></td></tr>
+<tr class="separator:ga17a48cc241b10348fd6751ed3a973e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7963cbb1ae0a8589b183f9b26fb25b45"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga7963cbb1ae0a8589b183f9b26fb25b45">addInt8</a></td></tr>
+<tr class="memdesc:ga7963cbb1ae0a8589b183f9b26fb25b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int8</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="group__flatbuffers__javascript__api.html#ga7963cbb1ae0a8589b183f9b26fb25b45">More...</a><br /></td></tr>
+<tr class="separator:ga7963cbb1ae0a8589b183f9b26fb25b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga21ba7dd4c33dafd6abb89568e4d9c8b8"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8">addOffset</a></td></tr>
+<tr class="memdesc:ga21ba7dd4c33dafd6abb89568e4d9c8b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds on offset, relative to where it will be written.  <a href="group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8">More...</a><br /></td></tr>
+<tr class="separator:ga21ba7dd4c33dafd6abb89568e4d9c8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga997af48d5c8f757fcb962168d67e33fb"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga997af48d5c8f757fcb962168d67e33fb">asUint8Array</a></td></tr>
+<tr class="memdesc:ga997af48d5c8f757fcb962168d67e33fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ByteBuffer representing the FlatBuffer.  <a href="group__flatbuffers__javascript__api.html#ga997af48d5c8f757fcb962168d67e33fb">More...</a><br /></td></tr>
+<tr class="separator:ga997af48d5c8f757fcb962168d67e33fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabd00b65bbe9e9fbac55fe4982eb6cec8"><td class="memItemLeft" align="right" valign="top">flatbuffers&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a></td></tr>
+<tr class="memdesc:gabd00b65bbe9e9fbac55fe4982eb6cec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a FlatBufferBuilder.  <a href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">More...</a><br /></td></tr>
+<tr class="separator:gabd00b65bbe9e9fbac55fe4982eb6cec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7a7bd67cb1c3190792d4b2b3e66376f"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#gaa7a7bd67cb1c3190792d4b2b3e66376f">createString</a></td></tr>
+<tr class="memdesc:gaa7a7bd67cb1c3190792d4b2b3e66376f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode the string <code>s</code> in the buffer using UTF-8.  <a href="group__flatbuffers__javascript__api.html#gaa7a7bd67cb1c3190792d4b2b3e66376f">More...</a><br /></td></tr>
+<tr class="separator:gaa7a7bd67cb1c3190792d4b2b3e66376f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga674814e0816f06c8a29ab364d19bed60"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga674814e0816f06c8a29ab364d19bed60">dataBuffer</a></td></tr>
+<tr class="memdesc:ga674814e0816f06c8a29ab364d19bed60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ByteBuffer representing the FlatBuffer.  <a href="group__flatbuffers__javascript__api.html#ga674814e0816f06c8a29ab364d19bed60">More...</a><br /></td></tr>
+<tr class="separator:ga674814e0816f06c8a29ab364d19bed60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga62c5cf622a7bbcfd49f21bddd8b9bef7"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga62c5cf622a7bbcfd49f21bddd8b9bef7">finish</a></td></tr>
+<tr class="memdesc:ga62c5cf622a7bbcfd49f21bddd8b9bef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize a buffer, poiting to the given <code>root_table</code>.  <a href="group__flatbuffers__javascript__api.html#ga62c5cf622a7bbcfd49f21bddd8b9bef7">More...</a><br /></td></tr>
+<tr class="separator:ga62c5cf622a7bbcfd49f21bddd8b9bef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0d1738111b83dffb2c2a7fc8bca19b33"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33">forceDefaults</a></td></tr>
+<tr class="memdesc:ga0d1738111b83dffb2c2a7fc8bca19b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">In order to save space, fields that are set to their default value don't get serialized into the buffer.  <a href="group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33">More...</a><br /></td></tr>
+<tr class="separator:ga0d1738111b83dffb2c2a7fc8bca19b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_benchmarks.html b/flatbuffers_benchmarks.html
new file mode 100644
index 0000000000000000000000000000000000000000..6ed9c0ff8e4634811bae67657c45409e328e40e7
--- /dev/null
+++ b/flatbuffers_benchmarks.html
@@ -0,0 +1,167 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Benchmarks</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_benchmarks.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Benchmarks </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Comparing against other serialization solutions, running on Windows 7 64bit. We use the LITE runtime for Protocol Buffers (less code / lower overhead), Rapid JSON (one of the fastest C++ JSON parsers around), and pugixml, also one of the fastest XML parsers.</p>
+<p>We also compare against code that doesn't use a serialization library at all (the column "Raw structs"), which is what you get if you write hardcoded code that just writes structs. This is the fastest possible, but of course is not cross platform nor has any kind of forwards / backwards compatibility.</p>
+<p>We compare against Flatbuffers with the binary wire format (as intended), and also with JSON as the wire format with the optional JSON parser (which, using a schema, parses JSON into a binary buffer that can then be accessed as before).</p>
+<p>The benchmark object is a set of about 10 objects containing an array, 4 strings, and a large variety of int/float scalar values of all sizes, meant to be representative of game data, e.g. a scene format.</p>
+<table class="doxtable">
+<tr>
+<th></th><th>FlatBuffers (binary) </th><th>Protocol Buffers LITE </th><th>Rapid JSON </th><th>FlatBuffers (JSON) </th><th>pugixml </th><th>Raw structs  </th></tr>
+<tr>
+<td>Decode + Traverse + Dealloc (1 million times, seconds) </td><td>0.08 </td><td>302 </td><td>583 </td><td>105 </td><td>196 </td><td>0.02 </td></tr>
+<tr>
+<td>Decode / Traverse / Dealloc (breakdown) </td><td>0 / 0.08 / 0 </td><td>220 / 0.15 / 81 </td><td>294 / 0.9 / 287 </td><td>70 / 0.08 / 35 </td><td>41 / 3.9 / 150 </td><td>0 / 0.02 / 0 </td></tr>
+<tr>
+<td>Encode (1 million times, seconds) </td><td>3.2 </td><td>185 </td><td>650 </td><td>169 </td><td>273 </td><td>0.15 </td></tr>
+<tr>
+<td>Wire format size (normal / zlib, bytes) </td><td>344 / 220 </td><td>228 / 174 </td><td>1475 / 322 </td><td>1029 / 298 </td><td>1137 / 341 </td><td>312 / 187 </td></tr>
+<tr>
+<td>Memory needed to store decoded wire (bytes / blocks) </td><td>0 / 0 </td><td>760 / 20 </td><td>65689 / 4 </td><td>328 / 1 </td><td>34194 / 3 </td><td>0 / 0 </td></tr>
+<tr>
+<td>Transient memory allocated during decode (KB) </td><td>0 </td><td>1 </td><td>131 </td><td>4 </td><td>34 </td><td>0 </td></tr>
+<tr>
+<td>Generated source code size (KB) </td><td>4 </td><td>61 </td><td>0 </td><td>4 </td><td>0 </td><td>0 </td></tr>
+<tr>
+<td>Field access in handwritten traversal code </td><td>typed accessors </td><td>typed accessors </td><td>manual error checking </td><td>typed accessors </td><td>manual error checking </td><td>typed but no safety </td></tr>
+<tr>
+<td>Library source code (KB) </td><td>15 </td><td>some subset of 3800 </td><td>87 </td><td>43 </td><td>327 </td><td>0 </td></tr>
+</table>
+<h3>Some other serialization systems we compared against but did not benchmark (yet), in rough order of applicability:</h3>
+<ul>
+<li>Cap'n'Proto promises to reduce Protocol Buffers much like FlatBuffers does, though with a more complicated binary encoding and less flexibility (no optional fields to allow deprecating fields or serializing with missing fields for which defaults exist). It currently also isn't fully cross-platform portable (lack of VS support).</li>
+<li>msgpack: has very minimal forwards/backwards compatibility support when used with the typed C++ interface. Also lacks VS2010 support.</li>
+<li>Thrift: very similar to Protocol Buffers, but appears to be less efficient, and have more dependencies.</li>
+<li>YAML: a superset of JSON and otherwise very similar. Used by e.g. Unity.</li>
+<li>C# comes with built-in serialization functionality, as used by Unity also. Being tied to the language, and having no automatic versioning support limits its applicability.</li>
+<li>Project Anarchy (the free mobile engine by Havok) comes with a serialization system, that however does no automatic versioning (have to code around new fields manually), is very much tied to the rest of the engine, and works without a schema to generate code (tied to your C++ class definition).</li>
+</ul>
+<h3>Code for benchmarks</h3>
+<p>Code for these benchmarks sits in <code>benchmarks/</code> in git branch <code>benchmarks</code>. It sits in its own branch because it has submodule dependencies that the main project doesn't need, and the code standards do not meet those of the main project. Please read <code>benchmarks/cpp/README.txt</code> before working with the code.</p>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_grammar.html b/flatbuffers_grammar.html
new file mode 100644
index 0000000000000000000000000000000000000000..223f32e410c7cb2d15594c16f912ccb7ffb38fcc
--- /dev/null
+++ b/flatbuffers_grammar.html
@@ -0,0 +1,148 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Grammar of the schema language</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_grammar.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Grammar of the schema language </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>schema = include* ( namespace_decl | type_decl | enum_decl | root_decl | file_extension_decl | file_identifier_decl | attribute_decl | object )*</p>
+<p>include = <code>include</code> string_constant <code>;</code></p>
+<p>namespace_decl = <code>namespace</code> ident ( <code>.</code> ident )* <code>;</code></p>
+<p>attribute_decl = <code>attribute</code> string_constant <code>;</code></p>
+<p>type_decl = ( <code>table</code> | <code>struct</code> ) ident metadata <code>{</code> field_decl+ <code>}</code></p>
+<p>enum_decl = ( <code>enum</code> | <code>union</code> ) ident [ <code>:</code> type ] metadata <code>{</code> commasep( enumval_decl ) <code>}</code></p>
+<p>root_decl = <code>root_type</code> ident <code>;</code></p>
+<p>field_decl = ident <code>:</code> type [ <code>=</code> scalar ] metadata <code>;</code></p>
+<p>type = <code>bool</code> | <code>byte</code> | <code>ubyte</code> | <code>short</code> | <code>ushort</code> | <code>int</code> | <code>uint</code> | <code>float</code> | <code>long</code> | <code>ulong</code> | <code>double</code> | <code>string</code> | <code>[</code> type <code>]</code> | ident</p>
+<p>enumval_decl = ident [ <code>=</code> integer_constant ]</p>
+<p>metadata = [ <code>(</code> commasep( ident [ <code>:</code> single_value ] ) <code>)</code> ]</p>
+<p>scalar = integer_constant | float_constant</p>
+<p>object = { commasep( ident <code>:</code> value ) }</p>
+<p>single_value = scalar | string_constant</p>
+<p>value = single_value | object | <code>[</code> commasep( value ) <code>]</code></p>
+<p>commasep(x) = [ x ( <code>,</code> x )* ]</p>
+<p>file_extension_decl = <code>file_extension</code> string_constant <code>;</code></p>
+<p>file_identifier_decl = <code>file_identifier</code> string_constant <code>;</code></p>
+<p>integer_constant = -?[0-9]+ | <code>true</code> | <code>false</code></p>
+<p>float_constant = -?[0-9]+.[0-9]+((e|E)(+|-)?[0-9]+)? </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_building.html b/flatbuffers_guide_building.html
new file mode 100644
index 0000000000000000000000000000000000000000..a4e33770b97b9fe4029ded10d58f516ca787bcee
--- /dev/null
+++ b/flatbuffers_guide_building.html
@@ -0,0 +1,146 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Building</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_building.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Building </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Building with Visual Studio or Xcode projects</h2>
+<p>There are project files for Visual Studio and Xcode that should allow you to build the compiler <code>flatc</code>, the samples and the tests out of the box.</p>
+<h2>Building with CMake</h2>
+<p>Alternatively, the distribution comes with a <code>cmake</code> file that should allow you to build project/make files for any platform. For details on <code>cmake</code>, see <a href="http://www.cmake.org">http://www.cmake.org</a>. In brief, depending on your platform, use one of e.g.: </p><pre class="fragment">cmake -G "Unix Makefiles"
+cmake -G "Visual Studio 10"
+cmake -G "Xcode"
+</pre><p>Then, build as normal for your platform. This should result in a <code>flatc</code> executable, essential for the next steps. Note that to use clang instead of gcc, you may need to set up your environment variables, e.g. <code>CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -G "Unix Makefiles"</code>.</p>
+<p>Optionally, run the <code>flattests</code> executable from the root <code>flatbuffers/</code> directory to ensure everything is working correctly on your system. If this fails, please contact us!</p>
+<p>Building should also produce two sample executables, <code>flatsamplebinary</code> and <code>flatsampletext</code>, see the corresponding <code>.cpp</code> files in the <code>flatbuffers/samples</code> directory.</p>
+<p><em>Note that you MUST be in the root of the FlatBuffers distribution when you run 'flattests' or <code>flatsampletext</code>, or it will fail to load its files.</em></p>
+<h2>Building for Android</h2>
+<p>There is a <code>flatbuffers/android</code> directory that contains all you need to build the test executable on android (use the included <code>build_apk.sh</code> script, or use <code>ndk_build</code> / <code>adb</code> etc. as usual). Upon running, it will output to the log if tests succeeded or not.</p>
+<p>You may also run an android sample from inside the <code>flatbuffers/samples</code>, by running the <code>android_sample.sh</code> script. Optionally, you may go to the <code>flatbuffers/samples/android</code> folder and build the sample with the <code>build_apk.sh</code> script or <code>ndk_build</code> / <code>adb</code> etc.</p>
+<h2>Using FlatBuffers in your own projects.</h2>
+<p>For C++, there is usually no runtime to compile, as the code consists of a single header, <code>include/flatbuffers/flatbuffers.h</code>. You should add the <code>include</code> folder to your include paths. If you wish to be able to load schemas and/or parse text into binary buffers at runtime, you additionally need the other headers in <code>include/flatbuffers</code>. You must also compile/link <code>src/idl_parser.cpp</code> (and <code>src/idl_gen_text.cpp</code> if you also want to be able convert binary to text).</p>
+<p>To see how to include FlatBuffers in any of our supported languages, please view the <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> and select your appropriate language using the radio buttons.</p>
+<h4>For Google Play apps</h4>
+<p>For applications on Google Play that integrate this library, usage is tracked. This tracking is done automatically using the embedded version string (flatbuffer_version_string), and helps us continue to optimize it. Aside from consuming a few extra bytes in your application binary, it shouldn't affect your application at all. We use this information to let us know if FlatBuffers is useful and if we should continue to invest in it. Since this is open source, you are free to remove the version string but we would appreciate if you would leave it in. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_tutorial.html b/flatbuffers_guide_tutorial.html
new file mode 100644
index 0000000000000000000000000000000000000000..120b9cc5ec48305328b5dcf107bd9a7c6672a019
--- /dev/null
+++ b/flatbuffers_guide_tutorial.html
@@ -0,0 +1,1030 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Tutorial</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_tutorial.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Tutorial </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Overview</h2>
+<p>This tutorial provides a basic example of how to work with <a class="el" href="index.html#flatbuffers_overview">FlatBuffers</a>. We will step through a simple example application, which shows you how to:</p>
+<ul>
+<li>Write a FlatBuffer <code>schema</code> file.</li>
+<li>Use the <code>flatc</code> FlatBuffer compiler.</li>
+<li>Parse <a href="http://json.org">JSON</a> files that conform to a schema into FlatBuffer binary files.</li>
+<li>Use the generated files in many of the supported languages (such as C++, Java, and more.)</li>
+</ul>
+<p>During this example, imagine that you are creating a game where the main character, the hero of the story, needs to slay some <code>orc</code>s. We will walk through each step necessary to create this monster type using FlatBuffers.</p>
+<p>Please select your desired language for our quest:</p>
+<p> 
+<form>
+  <input type="radio" name="language" value="cpp" checked="checked">C++</input>
+  <input type="radio" name="language" value="java">Java</input>
+  <input type="radio" name="language" value="csharp">C#</input>
+  <input type="radio" name="language" value="go">Go</input>
+  <input type="radio" name="language" value="python">Python</input>
+  <input type="radio" name="language" value="javascript">JavaScript</input>
+  <input type="radio" name="language" value="php">PHP</input>
+</form>
+</p>
+<p> 
+<script>
+  /**
+   * Check if an HTML `class` attribute is in the language-specific format.
+   * @param {string} languageClass An HTML `class` attribute in the format
+   * 'language-{lang}', where {lang} is a programming language (e.g. 'cpp',
+   * 'java', 'go', etc.).
+   * @return {boolean} Returns `true` if `languageClass` was in the valid
+   * format, prefixed with 'language-'. Otherwise, it returns false.
+   */
+  function isProgrammingLanguageClassName(languageClass) {
+    if (languageClass && languageClass.substring(0, 9) == 'language-' &&
+        languageClass.length > 8) {
+      return true;
+    } else {
+      return false;
+    }
+  }
+
+  /**
+   * Given a language-specific HTML `class` attribute, extract the language.
+   * @param {string} languageClass The string name of an HTML `class` attribute,
+   * in the format `language-{lang}`, where {lang} is a programming language
+   * (e.g. 'cpp', 'java', 'go', etc.).
+   * @return {string} Returns a string containing only the {lang} portion of
+   * the class name. If the input was invalid, then it returns `null`.
+   */
+  function extractProgrammingLanguageFromLanguageClass(languageClass) {
+    if (isProgrammingLanguageClassName(languageClass)) {
+      return languageClass.substring(9);
+    } else {
+      return null;
+    }
+  }
+
+  /**
+   * Hide every code snippet, except for the language that is selected.
+   */
+  function displayChosenLanguage() {
+    var selection = $('input:checked').val();
+
+    var htmlElements = document.getElementsByTagName('*');
+    for (var i = 0; i < htmlElements.length; i++) {
+      if (isProgrammingLanguageClassName(htmlElements[i].className)) {
+        if (extractProgrammingLanguageFromLanguageClass(
+              htmlElements[i].className).toLowerCase() != selection) {
+          htmlElements[i].style.display = 'none';
+        } else {
+          htmlElements[i].style.display = 'initial';
+        }
+      }
+    }
+  }
+
+  $( document ).ready(displayChosenLanguage);
+
+  $('input[type=radio]').on("click", displayChosenLanguage);
+</script>
+</p>
+<h2>Where to Find the Example Code</h2>
+<p>Samples demonstating the concepts in this example are located in the source code package, under the <code>samples</code> directory. You can browse the samples on GitHub <a href="https://github.com/google/flatbuffers/tree/master/samples">here</a>.</p>
+<p>For your chosen language, please cross-reference with:</p>
+<div class="language-cpp"> <a href="https://github.com/google/flatbuffers/blob/master/samples/sample_binary.cpp">sample_binary.cpp</a> </div> <div class="language-java"> <a href="https://github.com/google/flatbuffers/blob/master/samples/SampleBinary.java">SampleBinary.java</a> </div> <div class="language-csharp"> <a href="https://github.com/google/flatbuffers/blob/master/samples/SampleBinary.cs">SampleBinary.cs</a> </div> <div class="language-go"> <a href="https://github.com/google/flatbuffers/blob/master/samples/sample_binary.go">sample_binary.go</a> </div> <div class="language-python"> <a href="https://github.com/google/flatbuffers/blob/master/samples/sample_binary.py">sample_binary.py</a> </div> <div class="language-javascript"> <a href="https://github.com/google/flatbuffers/blob/master/samples/samplebinary.js">samplebinary.js</a> </div> <div class="language-php"> <a href="https://github.com/google/flatbuffers/blob/master/samples/SampleBinary.php">SampleBinary.php</a> </div><h2>Writing the Monsters' FlatBuffer Schema</h2>
+<p>To start working with FlatBuffers, you first need to create a <code>schema</code> file, which defines the format for each data structure you wish to serialize. Here is the <code>schema</code> that defines the template for our monsters:</p>
+<div class="fragment"><div class="line"><span class="comment">// Example IDL file for our monster&#39;s schema.</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">namespace </span>MyGame.Sample;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">enum</span> Color:byte { Red = 0, Green, Blue = 2 }</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">union </span>Equipment { Weapon } <span class="comment">// Optionally add more tables.</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">struct </span>Vec3 {</div>
+<div class="line">  x:float;</div>
+<div class="line">  y:float;</div>
+<div class="line">  z:float;</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line">table Monster {</div>
+<div class="line">  pos:Vec3; <span class="comment">// Struct.</span></div>
+<div class="line">  mana:<span class="keywordtype">short</span> = 150;</div>
+<div class="line">  hp:<span class="keywordtype">short</span> = 100;</div>
+<div class="line">  name:string;</div>
+<div class="line">  friendly:<span class="keywordtype">bool</span> = <span class="keyword">false</span> (deprecated);</div>
+<div class="line">  inventory:[ubyte];  <span class="comment">// Vector of scalars.</span></div>
+<div class="line">  color:Color = Blue; <span class="comment">// Enum.</span></div>
+<div class="line">  weapons:[Weapon];   <span class="comment">// Vector of tables.</span></div>
+<div class="line">  equipped:Equipment; <span class="comment">// Union.</span></div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line">table Weapon {</div>
+<div class="line">  name:string;</div>
+<div class="line">  damage:short;</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line">root_type Monster;</div>
+</div><!-- fragment --><p>As you can see, the syntax for the <code>schema</code> <a href="https://en.wikipedia.org/wiki/Interface_description_language">Interface Definition Language (IDL)</a> is similar to those of the C family of languages, and other IDL languages. Let's examine each part of this <code>schema</code> to determine what it does.</p>
+<p>The <code>schema</code> starts with a <code>namespace</code> declaration. This determines the corresponding package/namespace for the generated code. In our example, we have the <code>Sample</code> namespace inside of the <code>MyGame</code> namespace.</p>
+<p>Next, we have an <code>enum</code> definition. In this example, we have an <code>enum</code> of type <code>byte</code>, named <code>Color</code>. We have three values in this <code>enum</code>: <code>Red</code>, <code>Green</code>, and <code>Blue</code>. We specify <code>Red = 0</code> and <code>Blue = 2</code>, but we do not specify an explicit value for <code>Green</code>. Since the behavior of an <code>enum</code> is to increment if unspecified, <code>Green</code> will receive the implicit value of <code>1</code>.</p>
+<p>Following the <code>enum</code> is a <code>union</code>. The <code>union</code> in this example is not very useful, as it only contains the one <code>table</code> (named <code>Weapon</code>). If we had created multiple tables that we would want the <code>union</code> to be able to reference, we could add more elements to the <code>union Equipment</code>.</p>
+<p>After the <code>union</code> comes a <code>struct Vec3</code>, which represents a floating point vector with <code>3</code> dimensions. We use a <code>struct</code> here, over a <code>table</code>, because <code>struct</code>s are ideal for data structures that will not change, since they use less memory and have faster lookup.</p>
+<p>The <code>Monster</code> table is the main object in our FlatBuffer. This will be used as the template to store our <code>orc</code> monster. We specify some default values for fields, such as <code>mana:short = 150</code>. All unspecified fields will default to <code>0</code> or <code>NULL</code>. Another thing to note is the line <code>friendly:bool = false (deprecated);</code>. Since you cannot delete fields from a <code>table</code> (to support backwards compatability), you can set fields as <code>deprecated</code>, which will prevent the generation of accessors for this field in the generated code. Be careful when using <code>deprecated</code>, however, as it may break legacy code that used this accessor.</p>
+<p>The <code>Weapon</code> table is a sub-table used within our FlatBuffer. It is used twice: once within the <code>Monster</code> table and once within the <code>Equipment</code> enum. For our <code>Monster</code>, it is used to populate a <code>vector of tables</code> via the <code>weapons</code> field within our <code>Monster</code>. It is also the only table referenced by the <code>Equipment</code> enum.</p>
+<p>The last part of the <code>schema</code> is the <code>root_type</code>. The root type declares what will be the root table for the serialized data. In our case, the root type is our <code>Monster</code> table.</p>
+<h4>More Information About Schemas</h4>
+<p>You can find a complete guide to writing <code>schema</code> files in the <a class="el" href="flatbuffers_guide_writing_schema.html">Writing a schema</a> section of the Programmer's Guide. You can also view the formal <a class="el" href="flatbuffers_grammar.html">Grammar of the schema language</a>.</p>
+<h2>Compiling the Monsters' Schema</h2>
+<p>After you have written the FlatBuffers schema, the next step is to compile it.</p>
+<p>If you have not already done so, please follow <a class="el" href="flatbuffers_guide_building.html">these instructions</a> to build <code>flatc</code>, the FlatBuffer compiler.</p>
+<p>Once <code>flatc</code> is built successfully, compile the schema for your language:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line">cd flatbuffers/sample</div>
+<div class="line">./../flatc --cpp samples/monster.fbs</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line">cd flatbuffers/sample</div>
+<div class="line">./../flatc --java samples/monster.fbs</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line">cd flatbuffers/sample</div>
+<div class="line">./../flatc --csharp samples/monster.fbs</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">cd flatbuffers/sample</div>
+<div class="line">./../flatc --go samples/monster.fbs</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line">cd flatbuffers/sample</div>
+<div class="line">./../flatc --python samples/monster.fbs</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">cd flatbuffers/sample</div>
+<div class="line">./../flatc --javascript samples/monster.fbs</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">cd flatbuffers/sample</div>
+<div class="line">./../flatc --php samples/monster.fbs</div>
+</div><!-- fragment --> </div><p>For a more complete guide to using the <code>flatc</code> compiler, pleaes read the <a class="el" href="flatbuffers_guide_using_schema_compiler.html">Using the schema compiler</a> section of the Programmer's Guide.</p>
+<h2>Reading and Writing Monster FlatBuffers</h2>
+<p>Now that we have compiled the schema for our programming language, we can start creating some monsters and serializing/deserializing them from FlatBuffers.</p>
+<h4>Creating and Writing Orc FlatBuffers</h4>
+<p>The first step is to import/include the library, generated files, etc.</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="preprocessor">#include &quot;monster_generate.h&quot;</span> <span class="comment">// This was generated by `flatc`.</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">using namespace </span>MyGame::Sample; <span class="comment">// Specified in the schema.</span></div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="keyword">import</span> MyGame.Sample.*; <span class="comment">//The `flatc` generated files. (Monster, Vec3, etc.)</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">import</span> <a class="code" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a>;</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="keyword">using</span> FlatBuffers;</div>
+<div class="line"><span class="keyword">using</span> MyGame.Sample; <span class="comment">// The `flatc` generated files. (Monster, Vec3, etc.)</span></div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="keyword">import</span> (</div>
+<div class="line">        flatbuffers <span class="stringliteral">&quot;github.com/google/flatbuffers/go&quot;</span></div>
+<div class="line">        sample <span class="stringliteral">&quot;MyGame/Sample&quot;</span></div>
+<div class="line">)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="keyword">import</span> flatbuffers</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"># Generated by `flatc`.</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">import</span> MyGame.Sample.Color</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keyword">import</span> MyGame.Sample.Equipment</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keyword">import</span> MyGame.Sample.Monster</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="keyword">import</span> MyGame.Sample.Vec3</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">import</span> MyGame.Sample.Weapon</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// The following code is for JavaScript module loaders (e.g. Node.js). See</span></div>
+<div class="line"><span class="comment">// below for a browser-based HTML/JavaScript example of including the library.</span></div>
+<div class="line">var flatbuffers = require(<span class="stringliteral">&#39;/js/flatbuffers&#39;</span>).flatbuffers;</div>
+<div class="line">var MyGame = require(<span class="stringliteral">&#39;./monster_generated&#39;</span>).MyGame; <span class="comment">// Generated by `flatc`.</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">//--------------------------------------------------------------------------//</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">// The following code is for browser-based HTML/JavaScript. Use the above code</span></div>
+<div class="line"><span class="comment">// for JavaScript module loaders (e.g. Node.js).</span></div>
+<div class="line">&lt;script src=<span class="stringliteral">&quot;../js/flatbuffers.js&quot;</span>&gt;&lt;/script&gt;</div>
+<div class="line">&lt;script src=<span class="stringliteral">&quot;monster_generated.js&quot;</span>&gt;&lt;/script&gt; <span class="comment">// Generated by `flatc`.</span></div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// It is recommended that your use PSR autoload when using FlatBuffers in PHP.</span></div>
+<div class="line"><span class="comment">// Here is an example from `SampleBinary.php`:</span></div>
+<div class="line"><span class="keyword">function</span> __autoload($class_name) {</div>
+<div class="line">  <span class="comment">// The last segment of the class name matches the file name.</span></div>
+<div class="line">  $class = substr($class_name, strrpos($class_name, <span class="stringliteral">&quot;\\&quot;</span>) + 1);</div>
+<div class="line">  $root_dir = join(DIRECTORY_SEPARATOR, array(dirname(dirname(__FILE__)))); <span class="comment">// `flatbuffers` root.</span></div>
+<div class="line"></div>
+<div class="line">  <span class="comment">// Contains the `*.php` files for the FlatBuffers library and the `flatc` generated files.</span></div>
+<div class="line">  $paths = array(join(DIRECTORY_SEPARATOR, array($root_dir, <span class="stringliteral">&quot;php&quot;</span>)),</div>
+<div class="line">                 join(DIRECTORY_SEPARATOR, array($root_dir, <span class="stringliteral">&quot;samples&quot;</span>, <span class="stringliteral">&quot;MyGame&quot;</span>, <span class="stringliteral">&quot;Sample&quot;</span>)));</div>
+<div class="line">  <span class="keywordflow">foreach</span> ($paths as $path) {</div>
+<div class="line">    $file = join(DIRECTORY_SEPARATOR, array($path, $class . <span class="stringliteral">&quot;.php&quot;</span>));</div>
+<div class="line">    <span class="keywordflow">if</span> (file_exists($file)) {</div>
+<div class="line">      require($file);</div>
+<div class="line">      <span class="keywordflow">break</span>;</div>
+<div class="line">    }</div>
+<div class="line">  }</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><p>Now we are ready to start building some buffers. In order to start, we need to create an instance of the <code>FlatBufferBuilder</code>, which will contain the buffer as it grows:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// Create a `FlatBufferBuilder`, which will be used to create our</span></div>
+<div class="line"><span class="comment">// monsters&#39; FlatBuffers.</span></div>
+<div class="line"><a class="code" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a> builder;</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// Create a `FlatBufferBuilder`, which will be used to create our</span></div>
+<div class="line"><span class="comment">// monsters&#39; FlatBuffers.</span></div>
+<div class="line">FlatBufferBuilder builder = <span class="keyword">new</span> FlatBufferBuilder(0);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// Create a `FlatBufferBuilder`, which will be used to create our</span></div>
+<div class="line"><span class="comment">// monsters&#39; FlatBuffers.</span></div>
+<div class="line">var builder = <span class="keyword">new</span> FlatBufferBuilder(1);</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// Create a `FlatBufferBuilder`, which will be used to create our</span></div>
+<div class="line"><span class="comment">// monsters&#39; FlatBuffers.</span></div>
+<div class="line">builder := flatbuffers.NewBuilder(0)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># Create a `FlatBufferBuilder`, which will be used to create our</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"># monsters&#39; FlatBuffers.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;builder = flatbuffers.Builder(0)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// Create a `flatbuffer.Builder`, which will be used to create our</span></div>
+<div class="line"><span class="comment">// monsters&#39; FlatBuffers.</span></div>
+<div class="line">var builder = <span class="keyword">new</span> flatbuffers.Builder(1);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// Create a `FlatBufferBuilder`, which will be used to create our</span></div>
+<div class="line"><span class="comment">// monsters&#39; FlatBuffers.</span></div>
+<div class="line">$builder = <span class="keyword">new</span> <a class="code" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a>(0);</div>
+</div><!-- fragment --> </div><p>After creating the <code>builder</code>, we can start serializing our data. Before we make our <code>orc</code> Monster, lets create some <code>Weapon</code>s: a <code>Sword</code> and an <code>Axe</code>.</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="keyword">auto</span> weapon_one_name = builder.CreateString(<span class="stringliteral">&quot;Sword&quot;</span>);</div>
+<div class="line"><span class="keywordtype">short</span> weapon_one_damage = 3;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">auto</span> weapon_two_name = builder.CreateString(<span class="stringliteral">&quot;Axe&quot;</span>);</div>
+<div class="line"><span class="keywordtype">short</span> weapon_two_damage = 5;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Use the `CreateWeapon` shortcut to create Weapons with all the fields set.</span></div>
+<div class="line"><span class="keyword">auto</span> sword = CreateWeapon(builder, weapon_one_name, weapon_one_damage);</div>
+<div class="line"><span class="keyword">auto</span> axe = CreateWeapon(builder, weapon_two_name, weapon_two_damage);</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line">String weaponOneName = builder.createString(<span class="stringliteral">&quot;Sword&quot;</span>)</div>
+<div class="line"><span class="keywordtype">short</span> weaponOneDamage = 3;</div>
+<div class="line"></div>
+<div class="line">String weaponTwoName = builder.createString(<span class="stringliteral">&quot;Axe&quot;</span>);</div>
+<div class="line"><span class="keywordtype">short</span> weaponTwoDamage = 5;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Use the `createWeapon()` helper function to create the weapons, since we set every field.</span></div>
+<div class="line"><span class="keywordtype">int</span> sword = Weapon.createWeapon(builder, weaponOneName, weaponOneDamage);</div>
+<div class="line"><span class="keywordtype">int</span> axe = Weapon.createWeapon(builder, weaponTwoName, weaponTwoDamage);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line">var weaponOneName = builder.CreateString(<span class="stringliteral">&quot;Sword&quot;</span>);</div>
+<div class="line">var weaponOneDamage = 3;</div>
+<div class="line"></div>
+<div class="line">var weaponTwoName = builder.CreateString(<span class="stringliteral">&quot;Axe&quot;</span>);</div>
+<div class="line">var weaponTwoDamage = 5;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Use the `CreateWeapon()` helper function to create the weapons, since we set every field.</span></div>
+<div class="line">var sword = Weapon.CreateWeapon(builder, weaponOneName, (short)weaponOneDamage);</div>
+<div class="line">var axe = Weapon.CreateWeapon(builder, weaponTwoName, (short)weaponTwoDamage);</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">weaponOne := builder.CreateString(<span class="stringliteral">&quot;Sword&quot;</span>)</div>
+<div class="line">weaponTwo := builder.CreateString(<span class="stringliteral">&quot;Axe&quot;</span>)</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create the first `Weapon` (&quot;Sword&quot;).</span></div>
+<div class="line">sample.WeaponStart(builder)</div>
+<div class="line">sample.Weapon.AddName(builder, weaponOne)</div>
+<div class="line">sample.Weapon.AddDamage(builder, 3)</div>
+<div class="line">sword := sample.WeaponEnd(builder)</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create the second `Weapon` (&quot;Axe&quot;).</span></div>
+<div class="line">sample.WeaponStart(builder)</div>
+<div class="line">sample.Weapon.AddName(builder, weaponTwo)</div>
+<div class="line">sample.Weapon.AddDamage(builder, 5)</div>
+<div class="line">axe := sample.WeaponEnd(builder)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;weapon_one = builder.CreateString(<span class="stringliteral">&#39;Sword&#39;</span>)</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;weapon_two = builder.CreateString(<span class="stringliteral">&#39;Axe&#39;</span>)</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"># Create the first `Weapon` (&#39;Sword&#39;).</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;MyGame.Sample.Weapon.WeaponStart(builder)</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;MyGame.Sample.Weapon.WeaponAddName(builder, weapon_one)</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;MyGame.Sample.Weapon.WeaponAddDamage(builder, 3)</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;sword = MyGame.Sample.Weapon.WeaponEnd(builder)</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"># Create the second `Weapon` (&#39;Axe&#39;).</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;MyGame.Sample.Weapon.WeaponStart(builder)</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;MyGame.Sample.Weapon.WeaponAddName(builder, weapon_two)</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;MyGame.Sample.Weapon.WeaponAddDamage(builder, 5)</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;axe = MyGame.Sample.Weapon.WeaponEnd(builder)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">var weaponOne = builder.createString(<span class="stringliteral">&#39;Sword&#39;</span>);</div>
+<div class="line">var weaponTwo = builder.createString(<span class="stringliteral">&#39;Axe&#39;</span>);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create the first `Weapon` (&#39;Sword&#39;).</span></div>
+<div class="line">MyGame.Sample.Weapon.startWeapon(builder);</div>
+<div class="line">MyGame.Sample.Weapon.addName(builder, weaponOne);</div>
+<div class="line">MyGame.Sample.Weapon.addDamage(builder, 3);</div>
+<div class="line">var sword = MyGame.Sample.Weapon.endWeapon(builder);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create the second `Weapon` (&#39;Axe&#39;).</span></div>
+<div class="line">MyGame.Sample.Weapon.startWeapon(builder);</div>
+<div class="line">MyGame.Sample.Weapon.addName(builder, weaponTwo);</div>
+<div class="line">MyGame.Sample.Weapon.addDamage(builder, 5);</div>
+<div class="line">var axe = MyGame.Sample.Weapon.endWeapon(builder);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// Create the `Weapon`s using the `createWeapon()` helper function.</span></div>
+<div class="line">$weapon_one_name = $builder-&gt;createString(<span class="stringliteral">&quot;Sword&quot;</span>);</div>
+<div class="line">$sword = \MyGame\Sample\Weapon::CreateWeapon($builder, $weapon_one_name, 3);</div>
+<div class="line"></div>
+<div class="line">$weapon_two_name = $builder-&gt;createString(<span class="stringliteral">&quot;Axe&quot;</span>);</div>
+<div class="line">$axe = \MyGame\Sample\Weapon::CreateWeapon($builder, $weapon_two_name, 5);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create an array from the two `Weapon`s and pass it to the</span></div>
+<div class="line"><span class="comment">// `CreateWeaponsVector()` method to create a FlatBuffer vector.</span></div>
+<div class="line">$weaps = array($sword, $axe);</div>
+<div class="line">$weapons = \MyGame\Sample\Monster::CreateWeaponsVector($builder, $weaps);</div>
+</div><!-- fragment --> </div><p>Now let's create our monster, the <code>orc</code>. For this <code>orc</code>, lets make him <code>red</code> with rage, positioned at <code>(1.0, 2.0, 3.0)</code>, and give him a large pool of hit points with <code>300</code>. We can give him a vector of weapons to choose from (our <code>Sword</code> and <code>Axe</code> from earlier). In this case, we will equip him with the <code>Axe</code>, since it is the most powerful of the two. Lastly, let's fill his inventory with some potential treasures that can be taken once he is defeated.</p>
+<p>Before we serialize a monster, we need to first serialize any objects that are contained there-in, i.e. we serialize the data tree using depth-first, pre-order traversal. This is generally easy to do on any tree structures.</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// Serialize a name for our monster, called &quot;Orc&quot;.</span></div>
+<div class="line"><span class="keyword">auto</span> name = builder.CreateString(<span class="stringliteral">&quot;Orc&quot;</span>);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create a `vector` representing the inventory of the Orc. Each number</span></div>
+<div class="line"><span class="comment">// could correspond to an item that can be claimed after he is slain.</span></div>
+<div class="line"><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> treasure = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};</div>
+<div class="line"><span class="keyword">auto</span> inventory = builder.CreateVector(treasure, 10);</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// Serialize a name for our monster, called &quot;Orc&quot;.</span></div>
+<div class="line"><span class="keywordtype">int</span> name = builder.createString(<span class="stringliteral">&quot;Orc&quot;</span>);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create a `vector` representing the inventory of the Orc. Each number</span></div>
+<div class="line"><span class="comment">// could correspond to an item that can be claimed after he is slain.</span></div>
+<div class="line">byte[] treasure = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};</div>
+<div class="line"><span class="keywordtype">int</span> inv = Monster.createInventoryVector(builder, treasure);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// Serialize a name for our monster, called &quot;Orc&quot;.</span></div>
+<div class="line">var name = builder.CreateString(<span class="stringliteral">&quot;Orc&quot;</span>);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create a `vector` representing the inventory of the Orc. Each number</span></div>
+<div class="line"><span class="comment">// could correspond to an item that can be claimed after he is slain.</span></div>
+<div class="line"><span class="comment">// Note: Since we prepend the bytes, this loop iterates in reverse order.</span></div>
+<div class="line">Monster.StartInventoryVector(builder, 10);</div>
+<div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 9; i &gt;= 0; i--)</div>
+<div class="line">{</div>
+<div class="line">  builder.AddByte((byte)i);</div>
+<div class="line">}</div>
+<div class="line">var inv = builder.EndVector();</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// Serialize a name for our monster, called &quot;Orc&quot;.</span></div>
+<div class="line">name := builder.CreateString(<span class="stringliteral">&quot;Orc&quot;</span>)</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create a `vector` representing the inventory of the Orc. Each number</span></div>
+<div class="line"><span class="comment">// could correspond to an item that can be claimed after he is slain.</span></div>
+<div class="line"><span class="comment">// Note: Since we prepend the bytes, this loop iterates in reverse.</span></div>
+<div class="line">sample.MonsterStartInventoryVector(builder, 10)</div>
+<div class="line"><span class="keywordflow">for</span> i := 9; i &gt;= 0; i-- {</div>
+<div class="line">        builder.PrependByte(byte(i))</div>
+<div class="line">}</div>
+<div class="line"><span class="keywordtype">int</span> := builder.EndVector(10)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># Serialize a name for our monster, called &quot;Orc&quot;.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;name = builder.CreateString(<span class="stringliteral">&quot;Orc&quot;</span>)</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"># Create a `vector` representing the inventory of the Orc. Each number</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"># could correspond to an item that can be claimed after he is slain.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"># Note: Since we prepend the bytes, this loop iterates in reverse.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;MyGame.Sample.Monster.MonsterStartInventoryVector(builder, 10)</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keywordflow">for</span> i <span class="keywordflow">in</span> reversed(range(0, 10)):</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  builder.PrependByte(i)</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;inv = builder.EndVector(10)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// Serialize a name for our monster, called &#39;Orc&#39;.</span></div>
+<div class="line">var name = builder.createString(<span class="stringliteral">&#39;Orc&#39;</span>);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create a `vector` representing the inventory of the Orc. Each number</span></div>
+<div class="line"><span class="comment">// could correspond to an item that can be claimed after he is slain.</span></div>
+<div class="line">var treasure = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];</div>
+<div class="line">var inv = MyGame.Sample.Monster.createInventoryVector(builder, treasure);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// Serialize a name for our monster, called &quot;Orc&quot;.</span></div>
+<div class="line">$name = $builder-&gt;createString(<span class="stringliteral">&quot;Orc&quot;</span>);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Create a `vector` representing the inventory of the Orc. Each number</span></div>
+<div class="line"><span class="comment">// could correspond to an item that can be claimed after he is slain.</span></div>
+<div class="line">$treasure = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);</div>
+<div class="line">$inv = \MyGame\Sample\Monster::CreateInventoryVector($builder, $treasure);</div>
+</div><!-- fragment --> </div><p>We serialized two built-in data types (<code>string</code> and <code>vector</code>) and captured their return values. These values are offsets into the serialized data, indicating where they are stored, such that we can refer to them below when adding fields to our monster.</p>
+<p><em>Note: To create a <code>vector</code> of nested objects (e.g. <code>table</code>s, <code>string</code>s, or other <code>vector</code>s), collect their offsets into a temporary data structure, and then create an additional <code>vector</code> containing their offsets.</em></p>
+<p>For example, take a look at the two <code>Weapon</code>s that we created earlier (<code>Sword</code> and <code>Axe</code>). These are both FlatBuffer <code>table</code>s, whose offsets we now store in memory. Therefore we can create a FlatBuffer <code>vector</code> to contain these offsets.</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// Place the weapons into a `std::vector`, then convert that into a FlatBuffer `vector`.</span></div>
+<div class="line">std::vector&lt;flatbuffers::Offset&lt;Weapon&gt;&gt; weapons_vector;</div>
+<div class="line">weapons_vector.push_back(sword);</div>
+<div class="line">weapons_vector.push_back(axe);</div>
+<div class="line"><span class="keyword">auto</span> weapons = builder.CreateVector(weapons_vector);</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// Place the two weapons into an array, and pass it to the `createWeaponsVector()` method to</span></div>
+<div class="line"><span class="comment">// create a FlatBuffer vector.</span></div>
+<div class="line"><span class="keywordtype">int</span>[] weaps = <span class="keyword">new</span> <span class="keywordtype">int</span>[2];</div>
+<div class="line">weaps[1] = sword;</div>
+<div class="line">weaps[2] = axe;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Pass the `weaps` array into the `createWeaponsVector()` method to create a FlatBuffer vector.</span></div>
+<div class="line"><span class="keywordtype">int</span> weapons = Monster.createWeaponsVector(builder, weaps);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line">var weaps = <span class="keyword">new</span> Offset&lt;Weapon&gt;[2];</div>
+<div class="line">weaps[0] = sword;</div>
+<div class="line">weaps[1] = axe;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Pass the `weaps` array into the `CreateWeaponsVector()` method to create a FlatBuffer vector.</span></div>
+<div class="line">var weapons = Monster.CreateWeaponsVector(builder, weaps);</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// Create a FlatBuffer vector and prepend the weapons.</span></div>
+<div class="line"><span class="comment">// Note: Since we prepend the data, prepend them in reverse order.</span></div>
+<div class="line">sample.MonsterStartWeaponsVector(builder, 2)</div>
+<div class="line">builder.PrependUOffsetT(axe)</div>
+<div class="line">builder.PrependUOffsetT(sword)</div>
+<div class="line">weapons := builder.EndVector(2)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># Create a FlatBuffer vector and prepend the weapons.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"># Note: Since we prepend the data, prepend them in reverse order.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;MyGame.Sample.Monster.MonsterStartWeaponsVector(builder, 2)</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;builder.PrependUOffsetTRelative(axe)</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;builder.PrependUOffsetTRelative(sword)</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;weapons = builder.EndVector(2)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// Create an array from the two `Weapon`s and pass it to the</span></div>
+<div class="line"><span class="comment">// `createWeaponsVector()` method to create a FlatBuffer vector.</span></div>
+<div class="line">var weaps = [sword, axe];</div>
+<div class="line">var weapons = MyGame.Sample.Monster.createWeaponsVector(builder, weaps);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// Create an array from the two `Weapon`s and pass it to the</span></div>
+<div class="line"><span class="comment">// `CreateWeaponsVector()` method to create a FlatBuffer vector.</span></div>
+<div class="line">$weaps = array($sword, $axe);</div>
+<div class="line">$weapons = \MyGame\Sample\Monster::CreateWeaponsVector($builder, $weaps);</div>
+</div><!-- fragment --> </div><p>To create a <code>struct</code>, use the <code>Vec3</code> class/struct that was generated by <code>flatc</code>:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// Create a `Vec3`, representing the Orc&#39;s position in 3-D space.</span></div>
+<div class="line"><span class="keyword">auto</span> pos = Vec3(1.0f, 2.0f, 3.0f);</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// Create a `Vec3`, representing the Orc&#39;s position in 3-D space.</span></div>
+<div class="line"><span class="keywordtype">int</span> pos = Vec3.createVec3(builder, 1.0f, 2.0f, 3.0f);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// Create a `Vec3`, representing the Orc&#39;s position in 3-D space.</span></div>
+<div class="line">var pos = Vec3.CreateVec3(builder, 1.0f, 2.0f, 3.0f);</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// Create a `Vec3`, representing the Orc&#39;s position in 3-D space.</span></div>
+<div class="line">pos := sample.CreateVec3(builder, 1.0, 2.0, 3.0)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># Create a `Vec3`, representing the Orc&#39;s position in 3-D space.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;pos = MyGame.Sample.Vec3.CreateVec3(builder, 1.0, 2.0, 3.0)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// Create a `Vec3`, representing the Orc&#39;s position in 3-D space.</span></div>
+<div class="line">var pos = MyGame.Sample.Vec3.createVec3(builder, 1.0, 2.0, 3.0);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// Create a `Vec3`, representing the Orc&#39;s position in 3-D space.</span></div>
+<div class="line">$pos = \MyGame\Sample\Vec3::CreateVec3($builder, 1.0, 2.0, 3.0);</div>
+</div><!-- fragment --> </div><p>We have now serialized the non-scalar components of the orc, so we can serialize the monster itself:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// Set his hit points to 300 and his mana to 150.</span></div>
+<div class="line"><span class="keywordtype">int</span> hp = 300;</div>
+<div class="line"><span class="keywordtype">int</span> mana = 150;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Finally, create the monster using the `CreateMonster` helper function</span></div>
+<div class="line"><span class="comment">// to set all fields.</span></div>
+<div class="line"><span class="keyword">auto</span> orc = CreateMonster(builder, &amp;pos, mana, hp, name, inventory, Color_Red,</div>
+<div class="line">                         weapons, Equipment_Weapon, axe.Union());</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// Create our monster using `startMonster()` and `endMonster()`.</span></div>
+<div class="line">Monster.startMonster(builder);</div>
+<div class="line">Monster.addPos(builder, pos);</div>
+<div class="line">Monster.addName(builder, name);</div>
+<div class="line">Monster.addColor(builder, Color.Red);</div>
+<div class="line">Monster.addHp(builder, (short)300);</div>
+<div class="line">Monster.addInventory(builder, inv);</div>
+<div class="line">Monster.addWeapons(builder, weapons);</div>
+<div class="line">Monster.addEquippedType(builder, Equipment.Weapon);</div>
+<div class="line">Monster.addEquipped(builder, axe);</div>
+<div class="line"><span class="keywordtype">int</span> orc = Monster.endMonster(builder);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// Create our monster using `StartMonster()` and `EndMonster()`.</span></div>
+<div class="line">Monster.StartMonster(builder);</div>
+<div class="line">Monster.AddPos(builder, pos);</div>
+<div class="line">Monster.AddHp(builder, (short)300);</div>
+<div class="line">Monster.AddName(builder, name);</div>
+<div class="line">Monster.AddInventory(builder, inv);</div>
+<div class="line">Monster.AddColor(builder, Color.Red);</div>
+<div class="line">Monster.AddWeapons(builder, weapons);</div>
+<div class="line">Monster.AddEquippedType(builder, Equipment.Weapon);</div>
+<div class="line">Monster.AddEquipped(builder, axe.Value); <span class="comment">// Axe</span></div>
+<div class="line">var orc = Monster.EndMonster(builder);</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// Create our monster using `MonsterStart()` and `MonsterEnd()`.</span></div>
+<div class="line">sample.MonsterStart(builder)</div>
+<div class="line">sample.MonsterAddPos(builder, pos)</div>
+<div class="line">sample.MonsterAddHp(builder, 300)</div>
+<div class="line">sample.MonsterAddName(builder, name)</div>
+<div class="line">sample.MonsterAddInventory(builder, inv)</div>
+<div class="line">sample.MonsterAddColor(builder, sample.ColorRed)</div>
+<div class="line">sample.MonsterAddWeapons(builder, weapons)</div>
+<div class="line">sample.MonsterAddEquippedType(builder, sample.EquipmentWeapon)</div>
+<div class="line">sample.MonsterAddEquipped(builder, axe)</div>
+<div class="line">orc := sample.MonsterEnd(builder)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># Create our monster by using `MonsterStart()` and `MonsterEnd()`.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;MyGame.Sample.Monster.MonsterStart(builder)</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;MyGame.Sample.Monster.MonsterAddPos(builder, pos)</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;MyGame.Sample.Monster.MonsterAddHp(builder, 300)</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;MyGame.Sample.Monster.MonsterAddName(builder, name)</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;MyGame.Sample.Monster.MonsterAddInventory(builder, inv)</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;MyGame.Sample.Monster.MonsterAddColor(builder,</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;                                      MyGame.Sample.Color.Color().Red)</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;MyGame.Sample.Monster.MonsterAddWeapons(builder, weapons)</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;MyGame.Sample.Monster.MonsterAddEquippedType(</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    builder, MyGame.Sample.Equipment.Equipment().Weapon)</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;MyGame.Sample.Monster.MonsterAddEquipped(builder, axe)</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;orc = MyGame.Sample.Monster.MonsterEnd(builder)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// Create our monster by using `startMonster()` and `endMonster()`.</span></div>
+<div class="line">MyGame.Sample.Monster.startMonster(builder);</div>
+<div class="line">MyGame.Sample.Monster.addPos(builder, pos);</div>
+<div class="line">MyGame.Sample.Monster.addHp(builder, 300);</div>
+<div class="line">MyGame.Sample.Monster.addColor(builder, MyGame.Sample.Color.Red)</div>
+<div class="line">MyGame.Sample.Monster.addName(builder, name);</div>
+<div class="line">MyGame.Sample.Monster.addInventory(builder, inv);</div>
+<div class="line">MyGame.Sample.Monster.addWeapons(builder, weapons);</div>
+<div class="line">MyGame.Sample.Monster.addEquippedType(builder, MyGame.Sample.Equipment.Weapon);</div>
+<div class="line">MyGame.Sample.Monster.addEquipped(builder, axe);</div>
+<div class="line">var orc = MyGame.Sample.Monster.endMonster(builder);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// Create our monster by using `StartMonster()` and `EndMonster()`.</span></div>
+<div class="line">\MyGame\Sample\Monster::StartMonster($builder);</div>
+<div class="line">\MyGame\Sample\Monster::AddPos($builder, $pos);</div>
+<div class="line">\MyGame\Sample\Monster::AddHp($builder, 300);</div>
+<div class="line">\MyGame\Sample\Monster::AddName($builder, $name);</div>
+<div class="line">\MyGame\Sample\Monster::AddInventory($builder, $inv);</div>
+<div class="line">\MyGame\Sample\Monster::AddColor($builder, \MyGame\Sample\Color::Red);</div>
+<div class="line">\MyGame\Sample\Monster::AddWeapons($builder, $weapons);</div>
+<div class="line">\MyGame\Sample\Monster::AddEquippedType($builder, \MyGame\Sample\Equipment::Weapon);</div>
+<div class="line">\MyGame\Sample\Monster::AddEquipped($builder, $axe);</div>
+<div class="line">$orc = \MyGame\Sample\Monster::EndMonster($builder);</div>
+</div><!-- fragment --> </div><div class="language-cpp"> <br />
+ <em>Note: Since we passing <code>150</code> as the <code>mana</code> field, which happens to be the default value, the field will not actually be written to the buffer, since the default value will be returned on query anyway. This is a nice space savings, especially if default values are common in your data. It also means that you do not need to be worried of adding a lot of fields that are only used in a small number of instances, as it will not bloat the buffer if unused.</em> <br />
+<br />
+ If you do not wish to set every field in a <code>table</code>, it may be more convenient to manually set each field of your monster, instead of calling <code>CreateMonster()</code>. The following snippet is functionally equivalent to the above code, but provides a bit more flexibility. <br />
+ </p><div class="fragment"><div class="line"><span class="comment">// You can use this code instead of `CreateMonster()`, to create our orc</span></div>
+<div class="line"><span class="comment">// manually.</span></div>
+<div class="line">MonsterBuilder monster_builder(builder);</div>
+<div class="line">monster_builder.add_pos(&amp;pos);</div>
+<div class="line">monster_builder.add_hp(hp);</div>
+<div class="line">monster_builder.add_name(name);</div>
+<div class="line">monster_builder.add_inventory(inventory);</div>
+<div class="line">monster_builder.add_color(Color_Red);</div>
+<div class="line">monster_builder.add_weapons(weapons);</div>
+<div class="line">monster_builder.add_equipped_type(Equipment_Weapon);</div>
+<div class="line">monster_builder.add_equpped(axe);</div>
+<div class="line"><span class="keyword">auto</span> orc = monster_builder.Finish();</div>
+</div><!-- fragment --> </div><p>Before finishing the serialization, let's take a quick look at FlatBuffer <code>union Equipped</code>. There are two parts to each FlatBuffer <code>union</code>. The first, is a hidden field <code>_type</code>, that is generated to hold the type of <code>table</code> referred to by the <code>union</code>. This allows you to know which type to cast to at runtime. Second, is the <code>union</code>'s data.</p>
+<p>In our example, the last two things we added to our <code>Monster</code> were the <code>Equipped Type</code> and the <code>Equipped</code> union itself.</p>
+<p>Here is a repetition these lines, to help highlight them more clearly:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line">monster_builder.add_equipped_type(Equipment_Weapon); <span class="comment">// Union type</span></div>
+<div class="line">monster_builder.add_equipped(axe); <span class="comment">// Union data</span></div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line">Monster.addEquippedType(builder, Equipment.Weapon); <span class="comment">// Union type</span></div>
+<div class="line">Monster.addEquipped(axe); <span class="comment">// Union data</span></div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line">Monster.AddEquippedType(builder, Equipment.Weapon); <span class="comment">// Union type</span></div>
+<div class="line">Monster.AddEquipped(builder, axe.Value); <span class="comment">// Union data</span></div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">sample.MonsterAddEquippedType(builder, sample.EquipmentWeapon) <span class="comment">// Union type</span></div>
+<div class="line">sample.MonsterAddEquipped(builder, axe) <span class="comment">// Union data</span></div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;MyGame.Sample.Monster.MonsterAddEquippedType(            <span class="comment"># Union type</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;    builder, MyGame.Sample.Equipment.Equipment().Weapon)</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;MyGame.Sample.Monster.MonsterAddEquipped(builder, axe)   <span class="comment"># Union data</span></div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">MyGame.Sample.Monster.addEquippedType(builder, MyGame.Sample.Equipment.Weapon); <span class="comment">// Union type</span></div>
+<div class="line">MyGame.Sample.Monster.addEquipped(builder, axe); <span class="comment">// Union data</span></div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">\MyGame\Sample\Monster::AddEquippedType($builder, \MyGame\Sample\Equipment::Weapon); <span class="comment">// Union type</span></div>
+<div class="line">\MyGame\Sample\Monster::AddEquipped($builder, $axe); <span class="comment">// Union data</span></div>
+</div><!-- fragment --> </div><p>After you have created your buffer, you will have the offset to the root of the data in the <code>orc</code> variable, so you can finish the buffer by calling the appropriate <code>finish</code> method.</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// Call `Finish()` to instruct the builder that this monster is complete.</span></div>
+<div class="line"><span class="comment">// Note: Regardless of how you created the `orc`, you still need to call</span></div>
+<div class="line"><span class="comment">// `Finish()` on the `FlatBufferBuilder`.</span></div>
+<div class="line">builder.Finish(orc); <span class="comment">// You could also call `FinishMonsterBuffer(builder,</span></div>
+<div class="line">                     <span class="comment">//                                          orc);`.</span></div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// Call `finish()` to instruct the builder that this monster is complete.</span></div>
+<div class="line">builder.finish(orc); <span class="comment">// You could also call `Monster.finishMonsterBuffer(builder, orc);`.</span></div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// Call `Finish()` to instruct the builder that this monster is complete.</span></div>
+<div class="line">builder.Finish(orc.Value); <span class="comment">// You could also call `Monster.FinishMonsterBuffer(builder, orc);`.</span></div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// Call `Finish()` to instruct the builder that this monster is complete.</span></div>
+<div class="line">builder.Finish(orc)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># Call `Finish()` to instruct the builder that this monster is complete.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;builder.Finish(orc)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// Call `finish()` to instruct the builder that this monster is complete.</span></div>
+<div class="line">builder.finish(orc); <span class="comment">// You could also call `MyGame.Example.Monster.finishMonsterBuffer(builder,</span></div>
+<div class="line">                     <span class="comment">//                                                                 orc);`.</span></div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// Call `finish()` to instruct the builder that this monster is complete.</span></div>
+<div class="line"> $builder-&gt;finish($orc); <span class="comment">// You may also call `\MyGame\Sample\Monster::FinishMonsterBuffer(</span></div>
+<div class="line">                         <span class="comment">//                        $builder, $orc);`.</span></div>
+</div><!-- fragment --> </div><p>The buffer is now ready to be stored somewhere, sent over the network, be compressed, or whatever you'd like to do with it. You can access the buffer like so:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// This must be called after `Finish()`.</span></div>
+<div class="line">uint8_t *buf = builder.GetBufferPointer();</div>
+<div class="line"><span class="keywordtype">int</span> size = builder.GetSize(); <span class="comment">// Returns the size of the buffer that</span></div>
+<div class="line">                              <span class="comment">// `GetBufferPointer()` points to.</span></div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// This must be called after `finish()`.</span></div>
+<div class="line">java.nio.ByteBuffer buf = builder.dataBuffer();</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// This must be called after `Finish()`.</span></div>
+<div class="line">var buf = builder.DataBuffer; <span class="comment">// Of type `FlatBuffers.ByteBuffer`.</span></div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// This must be called after `Finish()`.</span></div>
+<div class="line">buf := builder.FinishedBytes() <span class="comment">// Of type `byte[]`.</span></div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># This must be called after `Finish()`.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;buf = builder.Output() // Of type `bytearray`.</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// This must be called after `finish()`.</span></div>
+<div class="line">var buf = builder.dataBuffer(); <span class="comment">// Of type `flatbuffers.ByteBuffer`.</span></div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// This must be called after `finish()`.</span></div>
+<div class="line">$buf = $builder-&gt;dataBuffer(); <span class="comment">// Of type `Google\FlatBuffers\ByteBuffer`</span></div>
+</div><!-- fragment --> </div><h4>Reading Orc FlatBuffers</h4>
+<p>Now that we have successfully created an <code>Orc</code> FlatBuffer, the monster data can be saved, sent over a network, etc. Let's now adventure into the inverse, and deserialize a FlatBuffer.</p>
+<p>This seciton requires the same import/include, namespace, etc. requirements as before:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="preprocessor">#include &quot;monster_generate.h&quot;</span> <span class="comment">// This was generated by `flatc`.</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">using namespace </span>MyGame::Sample; <span class="comment">// Specified in the schema.</span></div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="keyword">import</span> MyGame.Sample.*; <span class="comment">//The `flatc` generated files. (Monster, Vec3, etc.)</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">import</span> <a class="code" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a>;</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="keyword">using</span> FlatBuffers;</div>
+<div class="line"><span class="keyword">using</span> MyGame.Sample; <span class="comment">// The `flatc` generated files. (Monster, Vec3, etc.)</span></div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="keyword">import</span> (</div>
+<div class="line">        flatbuffers <span class="stringliteral">&quot;github.com/google/flatbuffers/go&quot;</span></div>
+<div class="line">        sample <span class="stringliteral">&quot;MyGame/Sample&quot;</span></div>
+<div class="line">)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="keyword">import</span> flatbuffers</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"># Generated by `flatc`.</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">import</span> MyGame.Sample.Any</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keyword">import</span> MyGame.Sample.Color</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keyword">import</span> MyGame.Sample.Monster</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="keyword">import</span> MyGame.Sample.Vec3</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// The following code is for JavaScript module loaders (e.g. Node.js). See</span></div>
+<div class="line"><span class="comment">// below for a browser-based HTML/JavaScript example of including the library.</span></div>
+<div class="line">var flatbuffers = require(<span class="stringliteral">&#39;/js/flatbuffers&#39;</span>).flatbuffers;</div>
+<div class="line">var MyGame = require(<span class="stringliteral">&#39;./monster_generated&#39;</span>).MyGame; <span class="comment">// Generated by `flatc`.</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">//--------------------------------------------------------------------------//</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">// The following code is for browser-based HTML/JavaScript. Use the above code</span></div>
+<div class="line"><span class="comment">// for JavaScript module loaders (e.g. Node.js).</span></div>
+<div class="line">&lt;script src=<span class="stringliteral">&quot;../js/flatbuffers.js&quot;</span>&gt;&lt;/script&gt;</div>
+<div class="line">&lt;script src=<span class="stringliteral">&quot;monster_generated.js&quot;</span>&gt;&lt;/script&gt; <span class="comment">// Generated by `flatc`.</span></div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// It is recommended that your use PSR autoload when using FlatBuffers in PHP.</span></div>
+<div class="line"><span class="comment">// Here is an example from `SampleBinary.php`:</span></div>
+<div class="line"><span class="keyword">function</span> __autoload($class_name) {</div>
+<div class="line">  <span class="comment">// The last segment of the class name matches the file name.</span></div>
+<div class="line">  $class = substr($class_name, strrpos($class_name, <span class="stringliteral">&quot;\\&quot;</span>) + 1);</div>
+<div class="line">  $root_dir = join(DIRECTORY_SEPARATOR, array(dirname(dirname(__FILE__)))); <span class="comment">// `flatbuffers` root.</span></div>
+<div class="line"></div>
+<div class="line">  <span class="comment">// Contains the `*.php` files for the FlatBuffers library and the `flatc` generated files.</span></div>
+<div class="line">  $paths = array(join(DIRECTORY_SEPARATOR, array($root_dir, <span class="stringliteral">&quot;php&quot;</span>)),</div>
+<div class="line">                 join(DIRECTORY_SEPARATOR, array($root_dir, <span class="stringliteral">&quot;samples&quot;</span>, <span class="stringliteral">&quot;MyGame&quot;</span>, <span class="stringliteral">&quot;Sample&quot;</span>)));</div>
+<div class="line">  <span class="keywordflow">foreach</span> ($paths as $path) {</div>
+<div class="line">    $file = join(DIRECTORY_SEPARATOR, array($path, $class . <span class="stringliteral">&quot;.php&quot;</span>));</div>
+<div class="line">    <span class="keywordflow">if</span> (file_exists($file)) {</div>
+<div class="line">      require($file);</div>
+<div class="line">      <span class="keywordflow">break</span>;</div>
+<div class="line">    }</div>
+<div class="line">  }</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><p>Then, assuming you have a variable containing to the bytes of data from disk, network, etc., you can create a monster from this data:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="comment">// We can access the buffer we just made directly. Pretend this came over a</span></div>
+<div class="line"><span class="comment">// network, was read off of disk, etc.</span></div>
+<div class="line"><span class="keyword">auto</span> buffer_pointer = builder.GetBufferPointer();</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Deserialize the data from the buffer.</span></div>
+<div class="line"><span class="keyword">auto</span> monster = GetMonster(buffer_pointer);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// `monster` is of type`Monster *`, and points to somewhere inside the buffer.</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Note: root object pointers are NOT the same as `buffer_pointer`.</span></div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="comment">// We can access the buffer we just made directly. Pretend this came over a</span></div>
+<div class="line"><span class="comment">// network, was read off of disk, etc.</span></div>
+<div class="line">java.nio.ByteBuffer buf = builder.dataBuffer();</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Deserialize the data from the buffer.</span></div>
+<div class="line">Monster monster = Monster.getRootAsMonster(buf);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// We can access the buffer we just made directly. Pretend this came over a</span></div>
+<div class="line"><span class="comment">// network, was read off of disk, etc.</span></div>
+<div class="line">var buf = builder.DataBuffer;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Deserialize the data from the buffer.</span></div>
+<div class="line">var monster = Monster.GetRootAsMonster(buf);</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// We can access the buffer we just made directly. Pretend this came over a</span></div>
+<div class="line"><span class="comment">// network, was read off of disk, etc.</span></div>
+<div class="line">buf := builder.FinishedBytes()</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Deserialize the data from the buffer.</span></div>
+<div class="line">monster := sample.GetRootAsMonster(buf, 0)</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Note: We use `0` for the offset here, since we got the data using the</span></div>
+<div class="line"><span class="comment">// `builder.FinishedBytes()` method. This simulates the data you would</span></div>
+<div class="line"><span class="comment">// store/receive in your FlatBuffer. If you wanted to read from the</span></div>
+<div class="line"><span class="comment">// `builder.Bytes` directly, you would need to pass in the offset of</span></div>
+<div class="line"><span class="comment">// `builder.Head()`, as the builder actually constructs the buffer backwards.</span></div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment"># We can access the buffer we just made directly. Pretend this came over a</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"># network, was read off of disk, etc.</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;buf = builder.Output()</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"># Deserialize the data from the buffer.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;monster = MyGame.Sample.Monster.Monster.GetRootAsMonster(buf, 0)</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"># Note: We use `0` for the offset here, since we got the data using the</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"># `builder.Output()` method. This simulates the data you would store/receive</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"># in your FlatBuffer. If you wanted to read from the `builder.Bytes` directly,</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"># you would need to pass in the offset of `builder.Head()`, as the builder</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"># actually constructs the buffer backwards.</span></div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line"><span class="comment">// We can access the buffer we just made directly. Pretend this came over a</span></div>
+<div class="line"><span class="comment">// network, was read off of disk, etc.</span></div>
+<div class="line">var buf = builder.dataBuffer();</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Deserialize the data from the buffer.</span></div>
+<div class="line">var monster = MyGame.Sample.Monster.getRootAsMonster(buf);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line"><span class="comment">// We can access the buffer we just made directly. Pretend this came over a</span></div>
+<div class="line"><span class="comment">// network, was read off of disk, etc.</span></div>
+<div class="line">$buf = $builder-&gt;dataBuffer();</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Deserialize the data from the buffer.</span></div>
+<div class="line">$monster = \MyGame\Sample\Monster::GetRootAsMonster($buf);</div>
+</div><!-- fragment --> </div><p>If you look in the generated files from <code>flatc</code>, you will see it generated accessors for all non-<code>deprecated</code> fields. For example:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="keyword">auto</span> hp = monster-&gt;hp();</div>
+<div class="line"><span class="keyword">auto</span> mana = monster-&gt;mana();</div>
+<div class="line"><span class="keyword">auto</span> name = monster-&gt;name()-&gt;c_str();</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="keywordtype">short</span> hp = monster.hp();</div>
+<div class="line"><span class="keywordtype">short</span> mana = monster.mana();</div>
+<div class="line">String name = monster.name();</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="comment">// For C#, unlike other languages support by FlatBuffers, most values (except for</span></div>
+<div class="line"><span class="comment">// vectors and unions) are available as propreties instead of asccessor methods.</span></div>
+<div class="line">var hp = monster.Hp</div>
+<div class="line">var mana = monster.Mana</div>
+<div class="line">var name = monster.Name</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">hp := monster.Hp()</div>
+<div class="line">mana := monster.Mana()</div>
+<div class="line">name := string(monster.Name()) <span class="comment">// Note: `monster.Name()` returns a byte[].</span></div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;hp = monster.Hp()</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;mana = monster.Mana()</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;name = monster.Name()</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">var hp = $monster.hp();</div>
+<div class="line">var mana = $monster.mana();</div>
+<div class="line">var name = $monster.name();</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">$hp = $monster-&gt;getHp();</div>
+<div class="line">$mana = $monster-&gt;getMana();</div>
+<div class="line">$name = monster-&gt;getName();</div>
+</div><!-- fragment --> </div><p>These should hold <code>300</code>, <code>150</code>, and <code>"Orc"</code> respectively.</p>
+<p><em>Note: We never stored a value in <code>mp</code>, so we got the default value of <code>150</code>.</em></p>
+<p>To access sub-objects, in the case of our <code>pos</code>, which is a <code>Vec3</code>:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="keyword">auto</span> pos = monster-&gt;pos();</div>
+<div class="line"><span class="keyword">auto</span> x = pos-&gt;x();</div>
+<div class="line"><span class="keyword">auto</span> y = pos-&gt;y();</div>
+<div class="line"><span class="keyword">auto</span> z = pos-&gt;z();</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line">Vec3 pos = monster.pos();</div>
+<div class="line"><span class="keywordtype">float</span> x = pos.x();</div>
+<div class="line"><span class="keywordtype">float</span> y = pos.y();</div>
+<div class="line"><span class="keywordtype">float</span> z = pos.z();</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line">var pos = monster.Pos</div>
+<div class="line">var x = pos.X</div>
+<div class="line">var y = pos.Y</div>
+<div class="line">var z = pos.Z</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">pos := monster.Pos(nil)</div>
+<div class="line">x := pos.X()</div>
+<div class="line">y := pos.Y()</div>
+<div class="line">z := pos.Z()</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Note: Whenever you access a new object, like in `Pos()`, a new temporary</span></div>
+<div class="line"><span class="comment">// accessor object gets created. If your code is very performance sensitive,</span></div>
+<div class="line"><span class="comment">// you can pass in a pointer to an existing `Vec3` instead of `nil`. This</span></div>
+<div class="line"><span class="comment">// allows you to reuse it across many calls to reduce the amount of object</span></div>
+<div class="line"><span class="comment">// allocation/garbage collection.</span></div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;pos = monster.Pos()</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;x = pos.X()</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;y = pos.Y()</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;z = pos.Z()</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">var pos = monster.pos();</div>
+<div class="line">var x = pos.x();</div>
+<div class="line">var y = pos.y();</div>
+<div class="line">var z = pos.z();</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">$pos = $monster-&gt;getPos();</div>
+<div class="line">$x = $pos-&gt;getX();</div>
+<div class="line">$y = $pos-&gt;getY();</div>
+<div class="line">$z = $pos-&gt;getZ();</div>
+</div><!-- fragment --> </div><p><code>x</code>, <code>y</code>, and <code>z</code> will contain <code>1.0</code>, <code>2.0</code>, and <code>3.0</code>, respectively.</p>
+<p><em>Note: Had we not set <code>pos</code> during serialization, it would be <code>NULL</code>-value.</em></p>
+<p>Similarly, we can access elements of the inventory <code>vector</code> by indexing it. You can also iterate over the length of the array/vector representing the FlatBuffers <code>vector</code>.</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="keyword">auto</span> inv = monster-&gt;inventory(); <span class="comment">// A pointer to a `flatbuffers::Vector&lt;&gt;`.</span></div>
+<div class="line"><span class="keyword">auto</span> inv_len = inv-&gt;Length();</div>
+<div class="line"><span class="keyword">auto</span> third_item = inv-&gt;Get(2);</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="keywordtype">int</span> invLength = monster.inventoryLength();</div>
+<div class="line">byte thirdItem = monster.inventory(2);</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="keywordtype">int</span> invLength = monster.InventoryLength;</div>
+<div class="line">var thirdItem = monster.GetInventory(2);</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">invLength := monster.InventoryLength()</div>
+<div class="line">thirdItem := monster.Inventory(2)</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;inv_len = monster.InventoryLength()</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;third_item = monster.Inventory(2)</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">var invLength = monster.inventoryLength();</div>
+<div class="line">var thirdItem = monster.inventory(2);</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">$inv_len = $monster-&gt;getInventoryLength();</div>
+<div class="line">$third_item = $monster-&gt;getInventory(2);</div>
+</div><!-- fragment --> </div><p>For <code>vector</code>s of <code>table</code>s, you can access the elements like any other vector, except your need to handle the result as a FlatBuffer <code>table</code>:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="keyword">auto</span> weapons = monster-&gt;weapons(); <span class="comment">// A pointer to a `flatbuffers::Vector&lt;&gt;`.</span></div>
+<div class="line"><span class="keyword">auto</span> weapon_len = weapons-&gt;Length();</div>
+<div class="line"><span class="keyword">auto</span> second_weapon_name = weapons-&gt;Get(1)-&gt;name()-&gt;str();</div>
+<div class="line"><span class="keyword">auto</span> second_weapon_damage = weapons-&gt;Get(1)-&gt;damage()</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="keywordtype">int</span> weaponsLength = monster.weaponsLength();</div>
+<div class="line">String secondWeaponName = monster.weapons(1).name();</div>
+<div class="line"><span class="keywordtype">short</span> secondWeaponDamage = monster.weapons(1).damage();</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line"><span class="keywordtype">int</span> weaponsLength = monster.WeaponsLength;</div>
+<div class="line">var secondWeaponName = monster.GetWeapons(1).Name;</div>
+<div class="line">var secondWeaponDamage = monster.GetWeapons(1).Damage;</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">weaponLength := monster.WeaponsLength()</div>
+<div class="line">weapon := <span class="keyword">new</span>(sample.Weapon) <span class="comment">// We need a `sample.Weapon` to pass into `monster.Weapons()`</span></div>
+<div class="line">                             <span class="comment">// to capture the output of the function.</span></div>
+<div class="line"><span class="keywordflow">if</span> monster.Weapons(weapon, 1) {</div>
+<div class="line">        secondWeaponName := weapon.Name()</div>
+<div class="line">        secondWeaponDamage := weapon.Damage()</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;weapons_length = monster.WeaponsLength()</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;second_weapon_name = monster.Weapons(1).Name()</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;second_weapon_damage = monster.Weapons(1).Damage()</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">var weaponsLength = monster.weaponsLength();</div>
+<div class="line">var secondWeaponName = monster.weapons(1).name();</div>
+<div class="line">var secondWeaponDamage = monster.weapons(1).damage();</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">$weapons_len = $monster-&gt;getWeaponsLength();</div>
+<div class="line">$second_weapon_name = $monster-&gt;getWeapons(1)-&gt;getName();</div>
+<div class="line">$second_weapon_damage = $monster-&gt;getWeapons(1)-&gt;getDamage();</div>
+</div><!-- fragment --> </div><p>Last, we can access our <code>Equipped</code> FlatBuffer <code>union</code>. Just like when we created the <code>union</code>, we need to get both parts of the <code>union</code>: the type and the data.</p>
+<p>We can access the type to dynamically cast the data as needed (since the <code>union</code> only stores a FlatBuffer <code>table</code>).</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="keyword">auto</span> union_type = monster.equipped_type();</div>
+<div class="line"></div>
+<div class="line"><span class="keywordflow">if</span> (union_type == Equipment_Weapon) {</div>
+<div class="line">  <span class="keyword">auto</span> weapon = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>Weapon*<span class="keyword">&gt;</span>(monster-&gt;equipped()); <span class="comment">// Requires `static_cast`</span></div>
+<div class="line">                                                                 <span class="comment">// to type `const Weapon*`.</span></div>
+<div class="line"></div>
+<div class="line">  <span class="keyword">auto</span> weapon_name = weapon-&gt;name()-&gt;str(); <span class="comment">// &quot;Axe&quot;</span></div>
+<div class="line">  <span class="keyword">auto</span> weapon_damage = weapon-&gt;damage();    <span class="comment">// 5</span></div>
+<div class="line">}</div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line"><span class="keywordtype">int</span> unionType = monster.EquippedType();</div>
+<div class="line"></div>
+<div class="line"><span class="keywordflow">if</span> (unionType == Equipment.Weapon) {</div>
+<div class="line">  Weapon weapon = (Weapon)monster.equipped(<span class="keyword">new</span> Weapon()); <span class="comment">// Requires explicit cast</span></div>
+<div class="line">                                                          <span class="comment">// to `Weapon`.</span></div>
+<div class="line"></div>
+<div class="line">  String weaponName = weapon.name();    <span class="comment">// &quot;Axe&quot;</span></div>
+<div class="line">  <span class="keywordtype">short</span> weaponDamage = weapon.damage(); <span class="comment">// 5</span></div>
+<div class="line">}</div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line">var unionType = monster.EquippedType;</div>
+<div class="line"></div>
+<div class="line"><span class="keywordflow">if</span> (unionType == Equipment.Weapon) {</div>
+<div class="line">  var weapon = (Weapon)monster.GetEquipped(<span class="keyword">new</span> Weapon()); <span class="comment">// Requires explicit cast</span></div>
+<div class="line">                                                          <span class="comment">// to `Weapon`.</span></div>
+<div class="line"></div>
+<div class="line">  var weaponName = weapon.Name;     <span class="comment">// &quot;Axe&quot;</span></div>
+<div class="line">  var weaponDamage = weapon.Damage; <span class="comment">// 5</span></div>
+<div class="line">}</div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line"><span class="comment">// We need a `flatbuffers.Table` to capture the output of the</span></div>
+<div class="line"><span class="comment">// `monster.Equipped()` function.</span></div>
+<div class="line">unionTable := <span class="keyword">new</span>(flatbuffers.Table)</div>
+<div class="line"></div>
+<div class="line"><span class="keywordflow">if</span> monster.Equipped(unionTable) {</div>
+<div class="line">        unionType := monster.EquippedType()</div>
+<div class="line"></div>
+<div class="line">        <span class="keywordflow">if</span> unionType == sample.EquipmentWeapon {</div>
+<div class="line">                <span class="comment">// Create a `sample.Weapon` object that can be initialized with the contents</span></div>
+<div class="line">                <span class="comment">// of the `flatbuffers.Table` (`unionTable`), which was populated by</span></div>
+<div class="line">                <span class="comment">// `monster.Equipped()`.</span></div>
+<div class="line">                unionWeapon = <span class="keyword">new</span>(sample.Weapon)</div>
+<div class="line">                unionWeapon.Init(unionTable.Bytes, unionTable.Pos)</div>
+<div class="line"></div>
+<div class="line">                weaponName = unionWeapon.Name()</div>
+<div class="line">                weaponDamage = unionWeapon.Damage()</div>
+<div class="line">        }</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;union_type = monster.EquippedType()</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keywordflow">if</span> union_type == MyGame.Sample.Equipment.Equipment().Weapon:</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;  <span class="comment"># `monster.Equipped()` returns a `flatbuffers.Table`, which can be used to</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;  <span class="comment"># initialize a `MyGame.Sample.Weapon.Weapon()`.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;  union_weapon = MyGame.Sample.Weapon.Weapon()</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;  union_weapon.Init(monster.Equipped().Bytes, monster.Equipped().Pos)</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  weapon_name = union_weapon.Name()     // <span class="stringliteral">&#39;Axe&#39;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;  weapon_damage = union_weapon.Damage() // 5</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">var unionType = monster.equippedType();</div>
+<div class="line"></div>
+<div class="line"><span class="keywordflow">if</span> (unionType == MyGame.Sample.Equipment.Weapon) {</div>
+<div class="line">  var weapon_name = monster.equipped(<span class="keyword">new</span> MyGame.Sample.Weapon()).name();     <span class="comment">// &#39;Axe&#39;</span></div>
+<div class="line">  var weapon_damage = monster.equipped(<span class="keyword">new</span> MyGame.Sample.Weapon()).damage(); <span class="comment">// 5</span></div>
+<div class="line">}</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">$union_type = $monster-&gt;getEquippedType();</div>
+<div class="line"></div>
+<div class="line"><span class="keywordflow">if</span> ($union_type == \MyGame\Sample\Equipment::Weapon) {</div>
+<div class="line">  $weapon_name = $monster-&gt;getEquipped(<span class="keyword">new</span> \MyGame\Sample\Weapon())-&gt;getName();     <span class="comment">// &quot;Axe&quot;</span></div>
+<div class="line">  $weapon_damage = $monster-&gt;getEquipped(<span class="keyword">new</span> \MyGame\Sample\Weapon())-&gt;getDamage(); <span class="comment">// 5</span></div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><h2>Mutating FlatBuffers</h2>
+<p>As you saw above, typically once you have created a FlatBuffer, it is read-only from that moment on. There are, however, cases where you have just received a FlatBuffer, and you'd like to modify something about it before sending it on to another recipient. With the above functionality, you'd have to generate an entirely new FlatBuffer, while tracking what you modified in your own data structures. This is inconvenient.</p>
+<p>For this reason FlatBuffers can also be mutated in-place. While this is great for making small fixes to an existing buffer, you generally want to create buffers from scratch whenever possible, since it is much more efficient and the API is much more general purpose.</p>
+<p>To get non-const accessors, invoke <code>flatc</code> with <code>--gen-mutable</code>.</p>
+<p>Similar to how we read fields using the accessors above, we can now use the mutators like so:</p>
+<div class="language-cpp"> <div class="fragment"><div class="line"><span class="keyword">auto</span> monster = GetMutableMonster(buffer_pointer);  <span class="comment">// non-const</span></div>
+<div class="line">monster-&gt;mutate_hp(10);                      <span class="comment">// Set the table `hp` field.</span></div>
+<div class="line">monster-&gt;mutable_pos()-&gt;mutate_z(4);         <span class="comment">// Set struct field.</span></div>
+<div class="line">monster-&gt;mutable_inventory()-&gt;Mutate(0, 1);  <span class="comment">// Set vector element.</span></div>
+</div><!-- fragment --> </div> <div class="language-java"> <div class="fragment"><div class="line">Monster monster = Monster.getRootAsMonster(buf);</div>
+<div class="line">monster.mutateHp(10);            <span class="comment">// Set table field.</span></div>
+<div class="line">monster.pos().mutateZ(4);        <span class="comment">// Set struct field.</span></div>
+<div class="line">monster.mutateInventory(0, 1);   <span class="comment">// Set vector element.</span></div>
+</div><!-- fragment --> </div> <div class="language-csharp"> <div class="fragment"><div class="line">var monster = Monster.GetRootAsMonster(buf);</div>
+<div class="line">monster.MutateHp(10);            <span class="comment">// Set table field.</span></div>
+<div class="line">monster.Pos.MutateZ(4);          <span class="comment">// Set struct field.</span></div>
+<div class="line">monster.MutateInventory(0, 1);   <span class="comment">// Set vector element.</span></div>
+</div><!-- fragment --> </div> <div class="language-go"> <div class="fragment"><div class="line">&lt;API <span class="keywordflow">for</span> mutating FlatBuffers is not yet available in Go.&gt;</div>
+</div><!-- fragment --> </div> <div class="language-python"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;&lt;API <span class="keywordflow">for</span> mutating FlatBuffers <span class="keywordflow">is</span> <span class="keywordflow">not</span> yet available <span class="keywordflow">in</span> Python.&gt;</div>
+</div><!-- fragment --> </div> <div class="language-javascript"> <div class="fragment"><div class="line">&lt;API <span class="keywordflow">for</span> mutating FlatBuffers is not yet support in JavaScript.&gt;</div>
+</div><!-- fragment --> </div> <div class="language-php"> <div class="fragment"><div class="line">&lt;API <span class="keywordflow">for</span> mutating FlatBuffers is not yet supported in PHP.&gt;</div>
+</div><!-- fragment --> </div><p>We use the somewhat verbose term <code>mutate</code> instead of <code>set</code> to indicate that this is a special use case, not to be confused with the default way of constructing FlatBuffer data.</p>
+<p>After the above mutations, you can send on the FlatBuffer to a new recipient without any further work!</p>
+<p>Note that any <code>mutate</code> functions on a table will return a boolean, which is <code>false</code> if the field we're trying to set is not present in the buffer. Fields that are not present if they weren't set, or even if they happen to be equal to the default value. For example, in the creation code above, the <code>mana</code> field is equal to <code>150</code>, which is the default value, so it was never stored in the buffer. Trying to call the corresponding <code>mutate</code> method for <code>mana</code> on such data will return <code>false</code>, and the value won't actually be modified!</p>
+<p>One way to solve this is to call <code>ForceDefaults</code> on a FlatBufferBuilder to force all fields you set to actually be written. This, of course, increases the size of the buffer somewhat, but this may be acceptable for a mutable buffer.</p>
+<div class="language-csharp"> <b>Note: <code>ForceDefaults</code> is not yet implemented in C#.</b> </div><h2>JSON with FlatBuffers</h2>
+<h4>Using <code>flatc</code> as a Conversion Tool</h4>
+<p>This is often the preferred method to use JSON with FlatBuffers, as it doesn't require you to add any new code to your program. It is also efficient, since you can ship with the binary data. The drawback is that it requires an extra step for your users/developers to perform (although it may be able to be automated as part of your compilation).</p>
+<p>Lets say you have a JSON file that describes your monster. In this example, we will use the file <code>flatbuffers/samples/monsterdata.json</code>.</p>
+<p>Here are the contents of the file:</p>
+<div class="fragment"><div class="line">{</div>
+<div class="line">  pos: {</div>
+<div class="line">    x: 1,</div>
+<div class="line">    y: 2,</div>
+<div class="line">    z: 3</div>
+<div class="line">  },</div>
+<div class="line">  hp: 300,</div>
+<div class="line">  name: <span class="stringliteral">&quot;Orc&quot;</span></div>
+<div class="line">}</div>
+</div><!-- fragment --><p>You can run this file through the <code>flatc</code> compile with the <code>-b</code> flag and our <code>monster.fbs</code> schema to produce a FlatBuffer binary file.</p>
+<div class="fragment"><div class="line">./../flatc -b monster.fbs monsterdata.json</div>
+</div><!-- fragment --><p>The output of this will be a file <code>monsterdata.bin</code>, which will contain the FlatBuffer binary representation of the contents from our <code>.json</code> file.</p>
+<div class="language-cpp"> <em>Note: If you're working in C++, you can also parse JSON at runtime. See the <a class="el" href="flatbuffers_guide_use_cpp.html">Use in C++</a> section of the Programmer's Guide for more information.</em> </div><h2>Advanced Features for Each Language</h2>
+<p>Each language has a dedicated <code>Use in XXX</code> page in the Programmer's Guide to cover the nuances of FlatBuffers in that language.</p>
+<p>For your chosen language, see:</p>
+<div class="language-cpp"> <a class="el" href="flatbuffers_guide_use_cpp.html">Use in C++</a> </div> <div class="language-java"> <a class="el" href="flatbuffers_guide_use_java_c-sharp.html">Use in Java/C#</a> </div> <div class="language-csharp"> <a class="el" href="flatbuffers_guide_use_java_c-sharp.html">Use in Java/C#</a> </div> <div class="language-go"> <a class="el" href="flatbuffers_guide_use_go.html">Use in Go</a> </div> <div class="language-python"> <a class="el" href="flatbuffers_guide_use_python.html">Use in Python</a> </div> <div class="language-javascript"> <a class="el" href="flatbuffers_guide_use_javascript.html">Use in JavaScript</a> </div> <div class="language-php"> <a class="el" href="flatbuffers_guide_use_php.html">Use in PHP</a> </div><p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_use_cpp.html b/flatbuffers_guide_use_cpp.html
new file mode 100644
index 0000000000000000000000000000000000000000..a3951c44ab90c0fa31515b45c33a4a59ad483d54
--- /dev/null
+++ b/flatbuffers_guide_use_cpp.html
@@ -0,0 +1,218 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Use in C++</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_use_cpp.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Use in C++ </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Before you get started</h2>
+<p>Before diving into the FlatBuffers usage in C++, it should be noted that the <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> page has a complete guide to general FlatBuffers usage in all of the supported languages (including C++). This page is designed to cover the nuances of FlatBuffers usage, specific to C++.</p>
+<h4>Prerequisites</h4>
+<p>This page assumes you have written a FlatBuffers schema and compiled it with the Schema Compiler. If you have not, please see <a class="el" href="flatbuffers_guide_using_schema_compiler.html">Using the schema compiler</a> and <a class="el" href="flatbuffers_guide_writing_schema.html">Writing a schema</a>.</p>
+<p>Assuming you wrote a schema, say <code>mygame.fbs</code> (though the extension doesn't matter), you've generated a C++ header called <code>mygame_generated.h</code> using the compiler (e.g. <code>flatc -c mygame.fbs</code>), you can now start using this in your program by including the header. As noted, this header relies on <code>flatbuffers/flatbuffers.h</code>, which should be in your include path.</p>
+<h2>FlatBuffers C++ library code location</h2>
+<p>The code for the FlatBuffers C++ library can be found at <code>flatbuffers/include/flatbuffers</code>. You can browse the library code on the <a href="https://github.com/google/flatbuffers/tree/master/
+include/flatbuffers">FlatBuffers GitHub page</a>.</p>
+<h2>Testing the FlatBuffers C++ library</h2>
+<p>The code to test the C++ library can be found at <code>flatbuffers/tests</code>. The test code itself is located in <a href="https://github.com/google/flatbuffers/blob/master/tests/test.cpp">test.cpp</a>.</p>
+<p>This test file is built alongside <code>flatc</code>. To review how to build the project, please read the <a class="el" href="flatbuffers_guide_building.html">Building</a> documenation.</p>
+<p>To run the tests, execute <code>flattests</code> from the root <code>flatbuffers/</code> directory. For example, on <a href="https://en.wikipedia.org/wiki/Linux">Linux</a>, you would simply run: <code>./flattests</code>.</p>
+<h2>Using the FlatBuffers C++ library</h2>
+<p><em>Note: See <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> for a more in-depth example of how to use FlatBuffers in C++.</em></p>
+<p>FlatBuffers supports both reading and writing FlatBuffers in C++.</p>
+<p>To use FlatBuffers in your code, first generate the C++ classes from your schema with the <code>--cpp</code> option to <code>flatc</code>. Then you can include both FlatBuffers and the generated code to read or write FlatBuffers.</p>
+<p>For example, here is how you would read a FlatBuffer binary file in C++: First, include the library and generated code. Then read the file into a <code>char *</code> array, which you pass to <code>GetMonster()</code>.</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="flatbuffers_8h.html">flatbuffers/flatbuffers.h</a>&quot;</span></div>
+<div class="line"><span class="preprocessor">#include &quot;monster_test_generate.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;cstdio&gt;</span> <span class="comment">// For printing and file access.</span></div>
+<div class="line"></div>
+<div class="line">FILE* file = fopen(<span class="stringliteral">&quot;monsterdata_test.mon&quot;</span>, <span class="stringliteral">&quot;rb&quot;</span>);</div>
+<div class="line">fseek(file, 0L, SEEK_END);</div>
+<div class="line"><span class="keywordtype">int</span> length = ftell(file);</div>
+<div class="line">fseek(file, 0L, SEEK_SET);</div>
+<div class="line"><span class="keywordtype">char</span> *data = <span class="keyword">new</span> <span class="keywordtype">char</span>[length];</div>
+<div class="line">fread(data, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>), length, file);</div>
+<div class="line">fclose(file);</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">auto</span> monster = GetMonster(data);</div>
+</div><!-- fragment --><p><code>monster</code> is of type <code>Monster *</code>, and points to somewhere <em>inside</em> your buffer (root object pointers are not the same as <code>buffer_pointer</code> !). If you look in your generated header, you'll see it has convenient accessors for all fields, e.g. <code>hp()</code>, <code>mana()</code>, etc:</p>
+<div class="fragment"><div class="line">printf(<span class="stringliteral">&quot;%d\n&quot;</span>, monster-&gt;hp());            <span class="comment">// `80`</span></div>
+<div class="line">printf(<span class="stringliteral">&quot;%d\n&quot;</span>, monster-&gt;mana());          <span class="comment">// default value of `150`</span></div>
+<div class="line">printf(<span class="stringliteral">&quot;%s\n&quot;</span>, monster-&gt;name()-&gt;c_str()); <span class="comment">// &quot;MyMonster&quot;</span></div>
+</div><!-- fragment --><p><em>Note: That we never stored a <code>mana</code> value, so it will return the default.</em></p>
+<h2>Reflection (&amp; Resizing)</h2>
+<p>There is experimental support for reflection in FlatBuffers, allowing you to read and write data even if you don't know the exact format of a buffer, and even allows you to change sizes of strings and vectors in-place.</p>
+<p>The way this works is very elegant; there is actually a FlatBuffer schema that describes schemas (!) which you can find in <code>reflection/reflection.fbs</code>. The compiler, <code>flatc</code>, can write out any schemas it has just parsed as a binary FlatBuffer, corresponding to this meta-schema.</p>
+<p>Loading in one of these binary schemas at runtime allows you traverse any FlatBuffer data that corresponds to it without knowing the exact format. You can query what fields are present, and then read/write them after.</p>
+<p>For convenient field manipulation, you can include the header <code>flatbuffers/reflection.h</code> which includes both the generated code from the meta schema, as well as a lot of helper functions.</p>
+<p>And example of usage, for the time being, can be found in <code>test.cpp/ReflectionTest()</code>.</p>
+<h2>Storing maps / dictionaries in a FlatBuffer</h2>
+<p>FlatBuffers doesn't support maps natively, but there is support to emulate their behavior with vectors and binary search, which means you can have fast lookups directly from a FlatBuffer without having to unpack your data into a <code>std::map</code> or similar.</p>
+<p>To use it:</p><ul>
+<li>Designate one of the fields in a table as they "key" field. You do this by setting the <code>key</code> attribute on this field, e.g. <code>name:string (key)</code>. You may only have one key field, and it must be of string or scalar type.</li>
+<li>Write out tables of this type as usual, collect their offsets in an array or vector.</li>
+<li>Instead of <code>CreateVector</code>, call <code>CreateVectorOfSortedTables</code>, which will first sort all offsets such that the tables they refer to are sorted by the key field, then serialize it.</li>
+<li>Now when you're accessing the FlatBuffer, you can use <code>Vector::LookupByKey</code> instead of just <code>Vector::Get</code> to access elements of the vector, e.g.: <code>myvector-&gt;LookupByKey("Fred")</code>, which returns a pointer to the corresponding table type, or <code>nullptr</code> if not found. <code>LookupByKey</code> performs a binary search, so should have a similar speed to <code>std::map</code>, though may be faster because of better caching. <code>LookupByKey</code> only works if the vector has been sorted, it will likely not find elements if it hasn't been sorted.</li>
+</ul>
+<h2>Direct memory access</h2>
+<p>As you can see from the above examples, all elements in a buffer are accessed through generated accessors. This is because everything is stored in little endian format on all platforms (the accessor performs a swap operation on big endian machines), and also because the layout of things is generally not known to the user.</p>
+<p>For structs, layout is deterministic and guaranteed to be the same accross platforms (scalars are aligned to their own size, and structs themselves to their largest member), and you are allowed to access this memory directly by using <code>sizeof()</code> and <code>memcpy</code> on the pointer to a struct, or even an array of structs.</p>
+<p>To compute offsets to sub-elements of a struct, make sure they are a structs themselves, as then you can use the pointers to figure out the offset without having to hardcode it. This is handy for use of arrays of structs with calls like <code>glVertexAttribPointer</code> in OpenGL or similar APIs.</p>
+<p>It is important to note is that structs are still little endian on all machines, so only use tricks like this if you can guarantee you're not shipping on a big endian machine (an <code>assert(FLATBUFFERS_LITTLEENDIAN)</code> would be wise).</p>
+<h2>Access of untrusted buffers</h2>
+<p>The generated accessor functions access fields over offsets, which is very quick. These offsets are not verified at run-time, so a malformed buffer could cause a program to crash by accessing random memory.</p>
+<p>When you're processing large amounts of data from a source you know (e.g. your own generated data on disk), this is acceptable, but when reading data from the network that can potentially have been modified by an attacker, this is undesirable.</p>
+<p>For this reason, you can optionally use a buffer verifier before you access the data. This verifier will check all offsets, all sizes of fields, and null termination of strings to ensure that when a buffer is accessed, all reads will end up inside the buffer.</p>
+<p>Each root type will have a verification function generated for it, e.g. for <code>Monster</code>, you can call:</p>
+<div class="fragment"><div class="line"><span class="keywordtype">bool</span> ok = VerifyMonsterBuffer(Verifier(buf, len));</div>
+</div><!-- fragment --><p>if <code>ok</code> is true, the buffer is safe to read.</p>
+<p>Besides untrusted data, this function may be useful to call in debug mode, as extra insurance against data being corrupted somewhere along the way.</p>
+<p>While verifying a buffer isn't "free", it is typically faster than a full traversal (since any scalar data is not actually touched), and since it may cause the buffer to be brought into cache before reading, the actual overhead may be even lower than expected.</p>
+<p>In specialized cases where a denial of service attack is possible, the verifier has two additional constructor arguments that allow you to limit the nesting depth and total amount of tables the verifier may encounter before declaring the buffer malformed. The default is <code>Verifier(buf, len, 64 /* max depth */, 1000000, /* max tables */)</code> which should be sufficient for most uses.</p>
+<h2>Text &amp; schema parsing</h2>
+<p>Using binary buffers with the generated header provides a super low overhead use of FlatBuffer data. There are, however, times when you want to use text formats, for example because it interacts better with source control, or you want to give your users easy access to data.</p>
+<p>Another reason might be that you already have a lot of data in JSON format, or a tool that generates JSON, and if you can write a schema for it, this will provide you an easy way to use that data directly.</p>
+<p>(see the schema documentation for some specifics on the JSON format accepted).</p>
+<p>There are two ways to use text formats:</p>
+<h4>Using the compiler as a conversion tool</h4>
+<p>This is the preferred path, as it doesn't require you to add any new code to your program, and is maximally efficient since you can ship with binary data. The disadvantage is that it is an extra step for your users/developers to perform, though you might be able to automate it. </p><pre class="fragment">flatc -b myschema.fbs mydata.json
+</pre><p>This will generate the binary file <code>mydata_wire.bin</code> which can be loaded as before.</p>
+<h4>Making your program capable of loading text directly</h4>
+<p>This gives you maximum flexibility. You could even opt to support both, i.e. check for both files, and regenerate the binary from text when required, otherwise just load the binary.</p>
+<p>This option is currently only available for C++, or Java through JNI.</p>
+<p>As mentioned in the section "Building" above, this technique requires you to link a few more files into your program, and you'll want to include <code>flatbuffers/idl.h</code>.</p>
+<p>Load text (either a schema or json) into an in-memory buffer (there is a convenient <code>LoadFile()</code> utility function in <code>flatbuffers/util.h</code> if you wish). Construct a parser:</p>
+<div class="fragment"><div class="line">flatbuffers::Parser parser;</div>
+</div><!-- fragment --><p>Now you can parse any number of text files in sequence:</p>
+<div class="fragment"><div class="line">parser.Parse(text_file.c_str());</div>
+</div><!-- fragment --><p>This works similarly to how the command-line compiler works: a sequence of files parsed by the same <code>Parser</code> object allow later files to reference definitions in earlier files. Typically this means you first load a schema file (which populates <code>Parser</code> with definitions), followed by one or more JSON files.</p>
+<p>As optional argument to <code>Parse</code>, you may specify a null-terminated list of include paths. If not specified, any include statements try to resolve from the current directory.</p>
+<p>If there were any parsing errors, <code>Parse</code> will return <code>false</code>, and <code>Parser::err</code> contains a human readable error string with a line number etc, which you should present to the creator of that file.</p>
+<p>After each JSON file, the <code>Parser::fbb</code> member variable is the <code>FlatBufferBuilder</code> that contains the binary buffer version of that file, that you can access as described above.</p>
+<p><code>samples/sample_text.cpp</code> is a code sample showing the above operations.</p>
+<h2>Threading</h2>
+<p>Reading a FlatBuffer does not touch any memory outside the original buffer, and is entirely read-only (all const), so is safe to access from multiple threads even without synchronisation primitives.</p>
+<p>Creating a FlatBuffer is not thread safe. All state related to building a FlatBuffer is contained in a FlatBufferBuilder instance, and no memory outside of it is touched. To make this thread safe, either do not share instances of FlatBufferBuilder between threads (recommended), or manually wrap it in synchronisation primites. There's no automatic way to accomplish this, by design, as we feel multithreaded construction of a single buffer will be rare, and synchronisation overhead would be costly.</p>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_use_go.html b/flatbuffers_guide_use_go.html
new file mode 100644
index 0000000000000000000000000000000000000000..243462aca5a1dcbf778eee7003d7b15e5756a59b
--- /dev/null
+++ b/flatbuffers_guide_use_go.html
@@ -0,0 +1,161 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Use in Go</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_use_go.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Use in Go </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Before you get started</h2>
+<p>Before diving into the FlatBuffers usage in Go, it should be noted that the <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> page has a complete guide to general FlatBuffers usage in all of the supported languages (including Go). This page is designed to cover the nuances of FlatBuffers usage, specific to Go.</p>
+<p>You should also have read the <a class="el" href="flatbuffers_guide_building.html">Building</a> documentation to build <code>flatc</code> and should be familiar with <a class="el" href="flatbuffers_guide_using_schema_compiler.html">Using the schema compiler</a> and <a class="el" href="flatbuffers_guide_writing_schema.html">Writing a schema</a>.</p>
+<h2>FlatBuffers Go library code location</h2>
+<p>The code for the FlatBuffers Go library can be found at <code>flatbuffers/go</code>. You can browse the library code on the <a href="https://github.com/google/flatbuffers/tree/master/go">FlatBuffers GitHub page</a>.</p>
+<h2>Testing the FlatBuffers Go library</h2>
+<p>The code to test the Go library can be found at <code>flatbuffers/tests</code>. The test code itself is located in <a href="https://github.com/google/
+flatbuffers/blob/master/tests/go_test.go">go_test.go</a>.</p>
+<p>To run the tests, use the <a href="https://github.com/google/flatbuffers/
+blob/master/tests/GoTest.sh">GoTest.sh</a> shell script.</p>
+<p><em>Note: The shell script requires <a href="https://golang.org/doc/install">Go</a> to be installed.</em></p>
+<h2>Using the FlatBuffers Go library</h2>
+<p><em>Note: See <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> for a more in-depth example of how to use FlatBuffers in Go.</em></p>
+<p>FlatBuffers supports reading and writing binary FlatBuffers in Go.</p>
+<p>To use FlatBuffers in your own code, first generate Go classes from your schema with the <code>--go</code> option to <code>flatc</code>. Then you can include both FlatBuffers and the generated code to read or write a FlatBuffer.</p>
+<p>For example, here is how you would read a FlatBuffer binary file in Go: First, include the library and generated code. Then read a FlatBuffer binary file into a <code>[]byte</code>, which you pass to the <code>GetRootAsMonster</code> function:</p>
+<div class="fragment"><div class="line"><span class="keyword">import</span> (</div>
+<div class="line">   example <span class="stringliteral">&quot;MyGame/Example&quot;</span></div>
+<div class="line">   flatbuffers <span class="stringliteral">&quot;github.com/google/flatbuffers/go&quot;</span></div>
+<div class="line"></div>
+<div class="line">   io/ioutil</div>
+<div class="line">)</div>
+<div class="line"></div>
+<div class="line">buf, err := ioutil.ReadFile(<span class="stringliteral">&quot;monster.dat&quot;</span>)</div>
+<div class="line"><span class="comment">// handle err</span></div>
+<div class="line">monster := example.GetRootAsMonster(buf, 0)</div>
+</div><!-- fragment --><p>Now you can access values like this:</p>
+<div class="fragment"><div class="line">hp := monster.Hp()</div>
+<div class="line">pos := monster.Pos(nil)</div>
+</div><!-- fragment --><h2>Text Parsing</h2>
+<p>There currently is no support for parsing text (Schema's and JSON) directly from Go, though you could use the C++ parser through cgo. Please see the C++ documentation for more on text parsing.</p>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_use_java_c-sharp.html b/flatbuffers_guide_use_java_c-sharp.html
new file mode 100644
index 0000000000000000000000000000000000000000..d41d82e5fa3f4da106524e859c94b6c11c6a5d10
--- /dev/null
+++ b/flatbuffers_guide_use_java_c-sharp.html
@@ -0,0 +1,187 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Use in Java/C#</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_use_java_c-sharp.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Use in Java/C# </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Before you get started</h2>
+<p>Before diving into the FlatBuffers usage in Java or C#, it should be noted that the <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> page has a complete guide to general FlatBuffers usage in all of the supported languages (including both Java and C#). This page is designed to cover the nuances of FlatBuffers usage, specific to Java and C#.</p>
+<p>You should also have read the <a class="el" href="flatbuffers_guide_building.html">Building</a> documentation to build <code>flatc</code> and should be familiar with <a class="el" href="flatbuffers_guide_using_schema_compiler.html">Using the schema compiler</a> and <a class="el" href="flatbuffers_guide_writing_schema.html">Writing a schema</a>.</p>
+<h2>FlatBuffers Java and C-sharp code location</h2>
+<h4>Java</h4>
+<p>The code for the FlatBuffers Java library can be found at <code>flatbuffers/java/com/google/flatbuffers</code>. You can browse the library on the <a href="https://github.com/google/flatbuffers/tree/master/
+java/com/google/flatbuffers">FlatBuffers GitHub page</a>.</p>
+<h4>C-sharp</h4>
+<p>The code for the FlatBuffers C# library can be found at <code>flatbuffers/net/FlatBuffers</code>. You can browse the library on the <a href="https://github.com/google/flatbuffers/tree/master/net/
+FlatBuffers">FlatBuffers GitHub page</a>.</p>
+<h2>Testing the FlatBuffers Java and C-sharp libraries</h2>
+<p>The code to test the libraries can be found at <code>flatbuffers/tests</code>.</p>
+<h4>Java</h4>
+<p>The test code for Java is located in <a href="https://github.com/google
+/flatbuffers/blob/master/tests/JavaTest.java">JavaTest.java</a>.</p>
+<p>To run the tests, use either <a href="https://github.com/google/
+flatbuffers/blob/master/tests/JavaTest.sh">JavaTest.sh</a> or <a href="https://github.com/
+google/flatbuffers/blob/master/tests/JavaTest.bat">JavaTest.bat</a>, depending on your operating system.</p>
+<p><em>Note: These scripts require that <a href="https://www.oracle.com/java/index.html">Java</a> is installed.</em></p>
+<h4>C-sharp</h4>
+<p>The test code for C# is located in the <a href="https://github.com/
+google/flatbuffers/tree/master/tests/FlatBuffers.Test">FlatBuffers.Test</a> subfolder. To run the tests, open <code>FlatBuffers.Test.csproj</code> in <a href="https://www.visualstudio.com">Visual Studio</a>, and compile/run the project.</p>
+<p>Optionally, you can run this using <a href="http://www.mono-project.com/">Mono</a> instead. Once you have installed <code>Mono</code>, you can run the tests from the command line by running the following commands from inside the <code>FlatBuffers.Test</code> folder:</p>
+<div class="fragment"><div class="line">mcs *.cs ../MyGame/Example<span class="comment">/*.cs ../../net/FlatBuffers/*.cs</span></div>
+<div class="line"><span class="comment">mono Assert.exe</span></div>
+</div><!-- fragment --><h2>Using the FlatBuffers Java (and C#) library</h2>
+<p><em>Note: See <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> for a more in-depth example of how to use FlatBuffers in Java or C#.</em></p>
+<p>FlatBuffers supports reading and writing binary FlatBuffers in Java and C#.</p>
+<p>To use FlatBuffers in your own code, first generate Java classes from your schema with the <code>--java</code> option to <code>flatc</code>. (Or for C# with <code>--csharp</code>). Then you can include both FlatBuffers and the generated code to read or write a FlatBuffer.</p>
+<p>For example, here is how you would read a FlatBuffer binary file in Java: First, import the library and generated code. Then, you read a FlatBuffer binary file into a <code>byte[]</code>. You then turn the <code>byte[]</code> into a <code>ByteBuffer</code>, which you pass to the <code>getRootAsMyRootType</code> function:</p>
+<p><em>Note: The code here is written from the perspective of Java. Code for both languages is both generated and used in nearly the exact same way, with only minor differences. These differences are <a href="#differences_in_c-sharp">explained in a section below</a>.</em></p>
+<div class="fragment"><div class="line"><span class="keyword">import</span> MyGame.Example.*;</div>
+<div class="line"><span class="keyword">import</span> <a class="code" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a>;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// This snippet ignores exceptions for brevity.</span></div>
+<div class="line">File file = <span class="keyword">new</span> File(<span class="stringliteral">&quot;monsterdata_test.mon&quot;</span>);</div>
+<div class="line">RandomAccessFile f = <span class="keyword">new</span> RandomAccessFile(file, <span class="stringliteral">&quot;r&quot;</span>);</div>
+<div class="line">byte[] data = <span class="keyword">new</span> byte[(int)f.length()];</div>
+<div class="line">f.readFully(data);</div>
+<div class="line">f.close();</div>
+<div class="line"></div>
+<div class="line">ByteBuffer bb = ByteBuffer.wrap(data);</div>
+<div class="line">Monster monster = Monster.getRootAsMonster(bb);</div>
+</div><!-- fragment --><p>Now you can access the data from the <code>Monster monster</code>:</p>
+<div class="fragment"><div class="line"><span class="keywordtype">short</span> hp = monster.hp();</div>
+<div class="line">Vec3 pos = monster.pos();</div>
+</div><!-- fragment --><p><a class="anchor" id="differences_in_c-sharp"></a> </p><h4>Differences in C-sharp</h4>
+<p>C# code works almost identically to Java, with only a few minor differences. You can see an example of C# code in <code>tests/FlatBuffers.Test/FlatBuffersExampleTests.cs</code> or <code>samples/SampleBinary.cs</code>.</p>
+<p>First of all, naming follows standard C# style with <code>PascalCasing</code> identifiers, e.g. <code>GetRootAsMyRootType</code>. Also, values (except vectors and unions) are available as properties instead of parameterless accessor methods as in Java. The performance-enhancing methods to which you can pass an already created object are prefixed with <code>Get</code>, e.g.:</p>
+<div class="fragment"><div class="line"><span class="comment">// property</span></div>
+<div class="line">var pos = monster.Pos;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// method filling a preconstructed object</span></div>
+<div class="line">var preconstructedPos = <span class="keyword">new</span> Vec3();</div>
+<div class="line">monster.GetPos(preconstructedPos);</div>
+</div><!-- fragment --><h2>Text parsing</h2>
+<p>There currently is no support for parsing text (Schema's and JSON) directly from Java or C#, though you could use the C++ parser through native call interfaces available to each language. Please see the C++ documentation for more on text parsing.</p>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_use_javascript.html b/flatbuffers_guide_use_javascript.html
new file mode 100644
index 0000000000000000000000000000000000000000..9c365964dedcd4b8f1c476edca803ab62c0fedbf
--- /dev/null
+++ b/flatbuffers_guide_use_javascript.html
@@ -0,0 +1,189 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Use in JavaScript</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_use_javascript.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Use in JavaScript </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Before you get started</h2>
+<p>Before diving into the FlatBuffers usage in JavaScript, it should be noted that the <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> page has a complete guide to general FlatBuffers usage in all of the supported languages (including JavaScript). This page is specifically designed to cover the nuances of FlatBuffers usage in JavaScript.</p>
+<p>You should also have read the <a class="el" href="flatbuffers_guide_building.html">Building</a> documentation to build <code>flatc</code> and should be familiar with <a class="el" href="flatbuffers_guide_using_schema_compiler.html">Using the schema compiler</a> and <a class="el" href="flatbuffers_guide_writing_schema.html">Writing a schema</a>.</p>
+<h2>FlatBuffers JavaScript library code location</h2>
+<p>The code for the FlatBuffers JavaScript library can be found at <code>flatbuffers/js</code>. You can browse the library code on the <a href="https://github.com/google/flatbuffers/tree/master/js">FlatBuffers GitHub page</a>.</p>
+<h2>Testing the FlatBuffers JavaScript library</h2>
+<p>The code to test the JavaScript library can be found at <code>flatbuffers/tests</code>. The test code itself is located in <a href="https://github.com/
+google/flatbuffers/blob/master/tests/JavaScriptTest.js">JavaScriptTest.js</a>.</p>
+<p>To run the tests, use the <a href="https://github.com/google/
+flatbuffers/blob/master/tests/JavaScriptTest.sh">JavaScriptTest.sh</a> shell script.</p>
+<p><em>Note: The JavaScript test file requires <a href="https://nodejs.org/en/">Node.js</a>.</em></p>
+<h2>Using the FlatBuffers JavaScript libary</h2>
+<p><em>Note: See <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> for a more in-depth example of how to use FlatBuffers in JavaScript.</em></p>
+<p>FlatBuffers supports both reading and writing FlatBuffers in JavaScript.</p>
+<p>To use FlatBuffers in your own code, first generate JavaScript classes from your schema with the <code>--js</code> option to <code>flatc</code>. Then you can include both FlatBuffers and the generated code to read or write a FlatBuffer.</p>
+<p>For example, here is how you would read a FlatBuffer binary file in Javascript: First, include the library and generated code. Then read the file into an <code>Uint8Array</code>. Make a <code>flatbuffers.ByteBuffer</code> out of the <code>Uint8Array</code>, and pass the ByteBuffer to the <code>getRootAsMonster</code> function.</p>
+<p><em>Note: Both JavaScript module loaders (e.g. Node.js) and browser-based HTML/JavaScript code segments are shown below in the following snippet:</em></p>
+<div class="fragment"><div class="line"><span class="comment">// Note: These require functions are specific to JavaScript module loaders</span></div>
+<div class="line"><span class="comment">//       (namely, Node.js). See below for a browser-based example.</span></div>
+<div class="line">var fs = require(<span class="stringliteral">&#39;fs&#39;</span>);</div>
+<div class="line"></div>
+<div class="line">var flatbuffers = require(<span class="stringliteral">&#39;../flatbuffers&#39;</span>).flatbuffers;</div>
+<div class="line">var MyGame = require(<span class="stringliteral">&#39;./monster_generated&#39;</span>).MyGame;</div>
+<div class="line"></div>
+<div class="line">var data = <span class="keyword">new</span> Uint8Array(fs.readFileSync(<span class="stringliteral">&#39;monster.dat&#39;</span>));</div>
+<div class="line">var buf = <span class="keyword">new</span> flatbuffers.ByteBuffer(data);</div>
+<div class="line"></div>
+<div class="line">var monster = MyGame.Example.Monster.getRootAsMonster(buf);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">//--------------------------------------------------------------------------//</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Note: This code is specific to browser-based HTML/JavaScript. See above</span></div>
+<div class="line"><span class="comment">//       for the code using JavaScript module loaders (e.g. Node.js).</span></div>
+<div class="line">&lt;script src=<span class="stringliteral">&quot;../js/flatbuffers.js&quot;</span>&gt;&lt;/script&gt;</div>
+<div class="line">&lt;script src=<span class="stringliteral">&quot;monster_generated.js&quot;</span>&gt;&lt;/script&gt;</div>
+<div class="line">&lt;script&gt;</div>
+<div class="line">  <span class="keyword">function</span> readFile() {</div>
+<div class="line">    var reader = <span class="keyword">new</span> FileReader(); <span class="comment">// This example uses the HTML5 FileReader.</span></div>
+<div class="line">    var file = document.getElementById(</div>
+<div class="line">        <span class="stringliteral">&#39;file_input&#39;</span>).files[0]; <span class="comment">// &quot;monster.dat&quot; from the HTML &lt;input&gt; field.</span></div>
+<div class="line"></div>
+<div class="line">    reader.onload = <span class="keyword">function</span>() { <span class="comment">// Executes after the file is read.</span></div>
+<div class="line">      var data = <span class="keyword">new</span> Uint8Array(reader.result);</div>
+<div class="line"></div>
+<div class="line">      var buf = <span class="keyword">new</span> flatbuffers.ByteBuffer(data);</div>
+<div class="line"></div>
+<div class="line">      var monster = MyGame.Example.Monster.getRootAsMonster(buf);</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">    reader.readAsArrayBuffer(file);</div>
+<div class="line">  }</div>
+<div class="line">&lt;/script&gt;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Open the HTML file in a browser and select &quot;monster.dat&quot; from with the</span></div>
+<div class="line"><span class="comment">// &lt;input&gt; field.</span></div>
+<div class="line">&lt;input type=<span class="stringliteral">&quot;file&quot;</span> <span class="keywordtype">id</span>=<span class="stringliteral">&quot;file_input&quot;</span> onchange=<span class="stringliteral">&quot;readFile();&quot;</span>&gt;</div>
+</div><!-- fragment --><p>Now you can access values like this:</p>
+<div class="fragment"><div class="line">var hp = monster.hp();</div>
+<div class="line">var pos = monster.pos();</div>
+</div><!-- fragment --><h2>Text parsing FlatBuffers in JavaScript</h2>
+<p>There currently is no support for parsing text (Schema's and JSON) directly from JavaScript. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_use_php.html b/flatbuffers_guide_use_php.html
new file mode 100644
index 0000000000000000000000000000000000000000..4c6da220b11b1aad15397968e910196875cf7473
--- /dev/null
+++ b/flatbuffers_guide_use_php.html
@@ -0,0 +1,174 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Use in PHP</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_use_php.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Use in PHP </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Before you get started</h2>
+<p>Before diving into the FlatBuffers usage in PHP, it should be noted that the <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> page has a complete guide to general FlatBuffers usage in all of the supported languages (including PHP). This page is specifically designed to cover the nuances of FlatBuffers usage in PHP.</p>
+<p>You should also have read the <a class="el" href="flatbuffers_guide_building.html">Building</a> documentation to build <code>flatc</code> and should be familiar with <a class="el" href="flatbuffers_guide_using_schema_compiler.html">Using the schema compiler</a> and <a class="el" href="flatbuffers_guide_writing_schema.html">Writing a schema</a>.</p>
+<h2>FlatBuffers PHP library code location</h2>
+<p>The code for FlatBuffers PHP library can be found at <code>flatbuffers/php</code>. You can browse the library code on the <a href="https://github.com/google/flatbuffers/tree/master/php">FlatBuffers GitHub page</a>.</p>
+<h2>Testing the FlatBuffers JavaScript library</h2>
+<p>The code to test the PHP library can be found at <code>flatbuffers/tests</code>. The test code itself is located in <a href="https://github.com/google/
+flatbuffers/blob/master/tests/phpTest.php">phpTest.php</a>.</p>
+<p>You can run the test with <code>php phpTest.php</code> from the command line.</p>
+<p><em>Note: The PHP test file requires <a href="http://php.net/manual/en/install.php">PHP</a> to be installed.</em></p>
+<h2>Using theFlatBuffers PHP library</h2>
+<p><em>Note: See <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> for a more in-depth example of how to use FlatBuffers in PHP.</em></p>
+<p>FlatBuffers supports both reading and writing FlatBuffers in PHP.</p>
+<p>To use FlatBuffers in your own code, first generate PHP classes from your schema with the <code>--php</code> option to <code>flatc</code>. Then you can include both FlatBuffers and the generated code to read or write a FlatBuffer.</p>
+<p>For example, here is how you would read a FlatBuffer binary file in PHP: First, include the library and generated code (using the PSR <code>autoload</code> function). Then you can read a FlatBuffer binary file, which you pass the contents of to the <code>GetRootAsMonster</code> function:</p>
+<div class="fragment"><div class="line"><span class="comment">// It is recommended that your use PSR autoload when using FlatBuffers in PHP.</span></div>
+<div class="line"><span class="comment">// Here is an example:</span></div>
+<div class="line"><span class="keyword">function</span> __autoload($class_name) {</div>
+<div class="line">  <span class="comment">// The last segment of the class name matches the file name.</span></div>
+<div class="line">  $class = substr($class_name, strrpos($class_name, <span class="stringliteral">&quot;\\&quot;</span>) + 1);</div>
+<div class="line">  $root_dir = join(DIRECTORY_SEPARATOR, array(dirname(dirname(__FILE__)))); <span class="comment">// `flatbuffers` root.</span></div>
+<div class="line"></div>
+<div class="line">  <span class="comment">// Contains the `*.php` files for the FlatBuffers library and the `flatc` generated files.</span></div>
+<div class="line">  $paths = array(join(DIRECTORY_SEPARATOR, array($root_dir, <span class="stringliteral">&quot;php&quot;</span>)),</div>
+<div class="line">                 join(DIRECTORY_SEPARATOR, array($root_dir, <span class="stringliteral">&quot;tests&quot;</span>, <span class="stringliteral">&quot;MyGame&quot;</span>, <span class="stringliteral">&quot;Example&quot;</span>)));</div>
+<div class="line">  <span class="keywordflow">foreach</span> ($paths as $path) {</div>
+<div class="line">    $file = join(DIRECTORY_SEPARATOR, array($path, $class . <span class="stringliteral">&quot;.php&quot;</span>));</div>
+<div class="line">    <span class="keywordflow">if</span> (file_exists($file)) {</div>
+<div class="line">      require($file);</div>
+<div class="line">      <span class="keywordflow">break</span>;</div>
+<div class="line">  }</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Read the contents of the FlatBuffer binary file.</span></div>
+<div class="line">$filename = <span class="stringliteral">&quot;monster.dat&quot;</span>;</div>
+<div class="line">$handle = fopen($filename, <span class="stringliteral">&quot;rb&quot;</span>);</div>
+<div class="line">$contents = $fread($handle, filesize($filename));</div>
+<div class="line">fclose($handle);</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Pass the contents to `GetRootAsMonster`.</span></div>
+<div class="line">$monster = \MyGame\Example\Monster::GetRootAsMonster($contents);</div>
+</div><!-- fragment --><p>Now you can access values like this:</p>
+<div class="fragment"><div class="line">$hp = $monster-&gt;GetHp();</div>
+<div class="line">$pos = $monster-&gt;GetPos();</div>
+</div><!-- fragment --><h2>Text Parsing</h2>
+<p>There currently is no support for parsing text (Schema's and JSON) directly from PHP. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_use_python.html b/flatbuffers_guide_use_python.html
new file mode 100644
index 0000000000000000000000000000000000000000..fb5ffd0916c51a7be6e1a534b4837c0bf2bc061a
--- /dev/null
+++ b/flatbuffers_guide_use_python.html
@@ -0,0 +1,158 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Use in Python</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_use_python.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Use in Python </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Before you get started</h2>
+<p>Before diving into the FlatBuffers usage in Python, it should be noted that the <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> page has a complete guide to general FlatBuffers usage in all of the supported languages (including Python). This page is designed to cover the nuances of FlatBuffers usage, specific to Python.</p>
+<p>You should also have read the <a class="el" href="flatbuffers_guide_building.html">Building</a> documentation to build <code>flatc</code> and should be familiar with <a class="el" href="flatbuffers_guide_using_schema_compiler.html">Using the schema compiler</a> and <a class="el" href="flatbuffers_guide_writing_schema.html">Writing a schema</a>.</p>
+<h2>FlatBuffers Python library code location</h2>
+<p>The code for the FlatBuffers Python library can be found at <code>flatbuffers/python/flatbuffers</code>. You can browse the library code on the <a href="https://github.com/google/flatbuffers/tree/master/
+python">FlatBuffers GitHub page</a>.</p>
+<h2>Testing the FlatBuffers Python library</h2>
+<p>The code to test the Python library can be found at <code>flatbuffers/tests</code>. The test code itself is located in <a href="https://github.com/google/
+flatbuffers/blob/master/tests/py_test.py">py_test.py</a>.</p>
+<p>To run the tests, use the <a href="https://github.com/google/flatbuffers/
+blob/master/tests/PythonTest.sh">PythonTest.sh</a> shell script.</p>
+<p><em>Note: This script requires <a href="https://www.python.org/">python</a> to be installed.</em></p>
+<h2>Using the FlatBuffers Python library</h2>
+<p><em>Note: See <a class="el" href="flatbuffers_guide_tutorial.html">Tutorial</a> for a more in-depth example of how to use FlatBuffers in Python.</em></p>
+<p>There is support for both reading and writing FlatBuffers in Python.</p>
+<p>To use FlatBuffers in your own code, first generate Python classes from your schema with the <code>--python</code> option to <code>flatc</code>. Then you can include both FlatBuffers and the generated code to read or write a FlatBuffer.</p>
+<p>For example, here is how you would read a FlatBuffer binary file in Python: First, import the library and the generated code. Then read a FlatBuffer binary file into a <code>bytearray</code>, which you pass to the <code>GetRootAsMonster</code> function:</p>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;import MyGame.Example <span class="keyword">as</span> example</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="keyword">import</span> flatbuffers</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;buf = open(<span class="stringliteral">&#39;monster.dat&#39;</span>, <span class="stringliteral">&#39;rb&#39;</span>).read()</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;buf = bytearray(buf)</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;monster = example.GetRootAsMonster(buf, 0)</div>
+</div><!-- fragment --><p>Now you can access values like this:</p>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;hp = monster.Hp()</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;pos = monster.Pos()</div>
+</div><!-- fragment --><h2>Text Parsing</h2>
+<p>There currently is no support for parsing text (Schema's and JSON) directly from Python, though you could use the C++ parser through SWIG or ctypes. Please see the C++ documentation for more on text parsing.</p>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_using_schema_compiler.html b/flatbuffers_guide_using_schema_compiler.html
new file mode 100644
index 0000000000000000000000000000000000000000..b516b75a3262780d26162f069c5a4b88c88c7356
--- /dev/null
+++ b/flatbuffers_guide_using_schema_compiler.html
@@ -0,0 +1,167 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Using the schema compiler</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_using_schema_compiler.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Using the schema compiler </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Usage: </p><pre class="fragment">flatc [ GENERATOR OPTIONS ] [ -o PATH ] [ -I PATH ] [ -S ] FILES...
+      [ -- FILES...]
+</pre><p>The files are read and parsed in order, and can contain either schemas or data (see below). Data files are processed according to the definitions of the most recent schema specified.</p>
+<p><code>--</code> indicates that the following files are binary files in FlatBuffer format conforming to the schema indicated before it.</p>
+<p>Depending on the flags passed, additional files may be generated for each file processed:</p>
+<p>For any schema input files, one or more generators can be specified:</p>
+<ul>
+<li><code>--cpp</code>, <code>-c</code> : Generate a C++ header for all definitions in this file (as <code>filename_generated.h</code>).</li>
+<li><code>--java</code>, <code>-j</code> : Generate Java code.</li>
+<li><code>--csharp</code>, <code>-n</code> : Generate C# code.</li>
+<li><code>--go</code>, <code>-g</code> : Generate Go code.</li>
+<li><code>--python</code>, <code>-p</code>: Generate Python code.</li>
+<li><code>--javascript</code>, <code>-s</code>: Generate JavaScript code.</li>
+<li><code>--php</code>: Generate PHP code.</li>
+</ul>
+<p>For any data input files:</p>
+<ul>
+<li><code>--binary</code>, <code>-b</code> : If data is contained in this file, generate a <code>filename.bin</code> containing the binary flatbuffer (or a different extension if one is specified in the schema).</li>
+<li><code>--json</code>, <code>-t</code> : If data is contained in this file, generate a <code>filename.json</code> representing the data in the flatbuffer.</li>
+</ul>
+<p>Additional options:</p>
+<ul>
+<li><code>-o PATH</code> : Output all generated files to PATH (either absolute, or relative to the current directory). If omitted, PATH will be the current directory. PATH should end in your systems path separator, e.g. <code>/</code> or <code>\</code>.</li>
+<li><code>-I PATH</code> : when encountering <code>include</code> statements, attempt to load the files from this path. Paths will be tried in the order given, and if all fail (or none are specified) it will try to load relative to the path of the schema file being parsed.</li>
+<li><code>-M</code> : Print make rules for generated files.</li>
+<li><code>--strict-json</code> : Require &amp; generate strict JSON (field names are enclosed in quotes, no trailing commas in tables/vectors). By default, no quotes are required/generated, and trailing commas are allowed.</li>
+<li><code>--defaults-json</code> : Output fields whose value is equal to the default value when writing JSON text.</li>
+<li><code>--no-prefix</code> : Don't prefix enum values in generated C++ by their enum type.</li>
+<li><code>--scoped-enums</code> : Use C++11 style scoped and strongly typed enums in generated C++. This also implies <code>--no-prefix</code>.</li>
+<li><code>--gen-includes</code> : (deprecated), this is the default behavior. If the original behavior is required (no include statements) use <code>--no-includes.</code></li>
+<li><code>--no-includes</code> : Don't generate include statements for included schemas the generated file depends on (C++).</li>
+<li><code>--gen-mutable</code> : Generate additional non-const accessors for mutating FlatBuffers in-place.</li>
+<li><code>--gen-onefile</code> : Generate single output file (useful for C#)</li>
+<li><code>--gen-all</code>: Generate not just code for the current schema files, but for all files it includes as well. If the language uses a single file for output (by default the case for C++ and JS), all code will end up in this one file.</li>
+<li><code>--raw-binary</code> : Allow binaries without a file_indentifier to be read. This may crash flatc given a mismatched schema.</li>
+<li><code>--proto</code>: Expect input files to be .proto files (protocol buffers). Output the corresponding .fbs file. Currently supports: <code>package</code>, <code>message</code>, <code>enum</code>, nested declarations, <code>import</code> (use <code>-I</code> for paths), <code>extend</code>, <code>oneof</code>, <code>group</code>. Does not support, but will skip without error: <code>option</code>, <code>service</code>, <code>extensions</code>, and most everything else.</li>
+<li><code>--schema</code>: Serialize schemas instead of JSON (use with -b). This will output a binary version of the specified schema that itself corresponds to the reflection/reflection.fbs schema. Loading this binary file is the basis for reflection functionality.</li>
+</ul>
+<p>NOTE: short-form options for generators are deprecated, use the long form whenever possible. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_guide_writing_schema.html b/flatbuffers_guide_writing_schema.html
new file mode 100644
index 0000000000000000000000000000000000000000..2006075258af69df5f56fb51d20fa4051ba25aa3
--- /dev/null
+++ b/flatbuffers_guide_writing_schema.html
@@ -0,0 +1,267 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Writing a schema</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_guide_writing_schema.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Writing a schema </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>The syntax of the schema language (aka IDL, <a href="https://en.wikipedia.org/wiki/Interface_description_language">Interface Definition Language</a>) should look quite familiar to users of any of the C family of languages, and also to users of other IDLs. Let's look at an example first: </p><pre class="fragment">// example IDL file
+
+namespace MyGame;
+
+attribute "priority";
+
+enum Color : byte { Red = 1, Green, Blue }
+
+union Any { Monster, Weapon, Pickup }
+
+struct Vec3 {
+  x:float;
+  y:float;
+  z:float;
+}
+
+table Monster {
+  pos:Vec3;
+  mana:short = 150;
+  hp:short = 100;
+  name:string;
+  friendly:bool = false (deprecated, priority: 1);
+  inventory:[ubyte];
+  color:Color = Blue;
+  test:Any;
+}
+
+root_type Monster;
+</pre><p>(<code>Weapon</code> &amp; <code>Pickup</code> not defined as part of this example).</p>
+<h3>Tables</h3>
+<p>Tables are the main way of defining objects in FlatBuffers, and consist of a name (here <code>Monster</code>) and a list of fields. Each field has a name, a type, and optionally a default value (if omitted, it defaults to <code>0</code> / <code>NULL</code>).</p>
+<p>Each field is optional: It does not have to appear in the wire representation, and you can choose to omit fields for each individual object. As a result, you have the flexibility to add fields without fear of bloating your data. This design is also FlatBuffer's mechanism for forward and backwards compatibility. Note that:</p>
+<ul>
+<li>You can add new fields in the schema ONLY at the end of a table definition. Older data will still read correctly, and give you the default value when read. Older code will simply ignore the new field. If you want to have flexibility to use any order for fields in your schema, you can manually assign ids (much like Protocol Buffers), see the <code>id</code> attribute below.</li>
+<li>You cannot delete fields you don't use anymore from the schema, but you can simply stop writing them into your data for almost the same effect. Additionally you can mark them as <code>deprecated</code> as in the example above, which will prevent the generation of accessors in the generated C++, as a way to enforce the field not being used any more. (careful: this may break code!).</li>
+<li>You may change field names and table names, if you're ok with your code breaking until you've renamed them there too.</li>
+</ul>
+<p>See "Schema evolution examples" below for more on this topic.</p>
+<h3>Structs</h3>
+<p>Similar to a table, only now none of the fields are optional (so no defaults either), and fields may not be added or be deprecated. Structs may only contain scalars or other structs. Use this for simple objects where you are very sure no changes will ever be made (as quite clear in the example <code>Vec3</code>). Structs use less memory than tables and are even faster to access (they are always stored in-line in their parent object, and use no virtual table).</p>
+<h3>Types</h3>
+<p>Built-in scalar types are:</p>
+<ul>
+<li>8 bit: <code>byte</code>, <code>ubyte</code>, <code>bool</code></li>
+<li>16 bit: <code>short</code>, <code>ushort</code></li>
+<li>32 bit: <code>int</code>, <code>uint</code>, <code>float</code></li>
+<li>64 bit: <code>long</code>, <code>ulong</code>, <code>double</code></li>
+</ul>
+<p>Built-in non-scalar types:</p>
+<ul>
+<li>Vector of any other type (denoted with <code>[type]</code>). Nesting vectors is not supported, instead you can wrap the inner vector in a table.</li>
+<li><code>string</code>, which may only hold UTF-8 or 7-bit ASCII. For other text encodings or general binary data use vectors (<code>[byte]</code> or <code>[ubyte]</code>) instead.</li>
+<li>References to other tables or structs, enums or unions (see below).</li>
+</ul>
+<p>You can't change types of fields once they're used, with the exception of same-size data where a <code>reinterpret_cast</code> would give you a desirable result, e.g. you could change a <code>uint</code> to an <code>int</code> if no values in current data use the high bit yet.</p>
+<h3>(Default) Values</h3>
+<p>Values are a sequence of digits. Values may be optionally followed by a decimal point (<code>.</code>) and more digits, for float constants, or optionally prefixed by a <code>-</code>. Floats may also be in scientific notation; optionally ending with an <code>e</code> or <code>E</code>, followed by a <code>+</code> or <code>-</code> and more digits.</p>
+<p>Only scalar values can have defaults, non-scalar (string/vector/table) fields default to <code>NULL</code> when not present.</p>
+<p>You generally do not want to change default values after they're initially defined. Fields that have the default value are not actually stored in the serialized data but are generated in code, so when you change the default, you'd now get a different value than from code generated from an older version of the schema. There are situations, however, where this may be desirable, especially if you can ensure a simultaneous rebuild of all code.</p>
+<h3>Enums</h3>
+<p>Define a sequence of named constants, each with a given value, or increasing by one from the previous one. The default first value is <code>0</code>. As you can see in the enum declaration, you specify the underlying integral type of the enum with <code>:</code> (in this case <code>byte</code>), which then determines the type of any fields declared with this enum type.</p>
+<p>Typically, enum values should only ever be added, never removed (there is no deprecation for enums). This requires code to handle forwards compatibility itself, by handling unknown enum values.</p>
+<h3>Unions</h3>
+<p>Unions share a lot of properties with enums, but instead of new names for constants, you use names of tables. You can then declare a union field, which can hold a reference to any of those types, and additionally a hidden field with the suffix <code>_type</code> is generated that holds the corresponding enum value, allowing you to know which type to cast to at runtime.</p>
+<p>Unions are a good way to be able to send multiple message types as a FlatBuffer. Note that because a union field is really two fields, it must always be part of a table, it cannot be the root of a FlatBuffer by itself.</p>
+<p>If you have a need to distinguish between different FlatBuffers in a more open-ended way, for example for use as files, see the file identification feature below.</p>
+<h3>Namespaces</h3>
+<p>These will generate the corresponding namespace in C++ for all helper code, and packages in Java. You can use <code>.</code> to specify nested namespaces / packages.</p>
+<h3>Includes</h3>
+<p>You can include other schemas files in your current one, e.g.: </p><pre class="fragment">include "mydefinitions.fbs";
+</pre><p>This makes it easier to refer to types defined elsewhere. <code>include</code> automatically ensures each file is parsed just once, even when referred to more than once.</p>
+<p>When using the <code>flatc</code> compiler to generate code for schema definitions, only definitions in the current file will be generated, not those from the included files (those you still generate separately).</p>
+<h3>Root type</h3>
+<p>This declares what you consider to be the root table (or struct) of the serialized data. This is particularly important for parsing JSON data, which doesn't include object type information.</p>
+<h3>File identification and extension</h3>
+<p>Typically, a FlatBuffer binary buffer is not self-describing, i.e. it needs you to know its schema to parse it correctly. But if you want to use a FlatBuffer as a file format, it would be convenient to be able to have a "magic number" in there, like most file formats have, to be able to do a sanity check to see if you're reading the kind of file you're expecting.</p>
+<p>Now, you can always prefix a FlatBuffer with your own file header, but FlatBuffers has a built-in way to add an identifier to a FlatBuffer that takes up minimal space, and keeps the buffer compatible with buffers that don't have such an identifier.</p>
+<p>You can specify in a schema, similar to <code>root_type</code>, that you intend for this type of FlatBuffer to be used as a file format: </p><pre class="fragment">file_identifier "MYFI";
+</pre><p>Identifiers must always be exactly 4 characters long. These 4 characters will end up as bytes at offsets 4-7 (inclusive) in the buffer.</p>
+<p>For any schema that has such an identifier, <code>flatc</code> will automatically add the identifier to any binaries it generates (with <code>-b</code>), and generated calls like <code>FinishMonsterBuffer</code> also add the identifier. If you have specified an identifier and wish to generate a buffer without one, you can always still do so by calling <code>FlatBufferBuilder::Finish</code> explicitly.</p>
+<p>After loading a buffer, you can use a call like <code>MonsterBufferHasIdentifier</code> to check if the identifier is present.</p>
+<p>Note that this is best for open-ended uses such as files. If you simply wanted to send one of a set of possible messages over a network for example, you'd be better off with a union.</p>
+<p>Additionally, by default <code>flatc</code> will output binary files as <code>.bin</code>. This declaration in the schema will change that to whatever you want: </p><pre class="fragment">file_extension "ext";
+</pre><h3>Comments &amp; documentation</h3>
+<p>May be written as in most C-based languages. Additionally, a triple comment (<code>///</code>) on a line by itself signals that a comment is documentation for whatever is declared on the line after it (table/struct/field/enum/union/element), and the comment is output in the corresponding C++ code. Multiple such lines per item are allowed.</p>
+<h3>Attributes</h3>
+<p>Attributes may be attached to a declaration, behind a field, or after the name of a table/struct/enum/union. These may either have a value or not. Some attributes like <code>deprecated</code> are understood by the compiler; user defined ones need to be declared with the attribute declaration (like <code>priority</code> in the example above), and are available to query if you parse the schema at runtime. This is useful if you write your own code generators/editors etc., and you wish to add additional information specific to your tool (such as a help text).</p>
+<p>Current understood attributes:</p>
+<ul>
+<li><code>id: n</code> (on a table field): manually set the field identifier to <code>n</code>. If you use this attribute, you must use it on ALL fields of this table, and the numbers must be a contiguous range from 0 onwards. Additionally, since a union type effectively adds two fields, its id must be that of the second field (the first field is the type field and not explicitly declared in the schema). For example, if the last field before the union field had id 6, the union field should have id 8, and the unions type field will implicitly be 7. IDs allow the fields to be placed in any order in the schema. When a new field is added to the schema is must use the next available ID.</li>
+<li><code>deprecated</code> (on a field): do not generate accessors for this field anymore, code should stop using this data.</li>
+<li><code>required</code> (on a non-scalar table field): this field must always be set. By default, all fields are optional, i.e. may be left out. This is desirable, as it helps with forwards/backwards compatibility, and flexibility of data structures. It is also a burden on the reading code, since for non-scalar fields it requires you to check against NULL and take appropriate action. By specifying this field, you force code that constructs FlatBuffers to ensure this field is initialized, so the reading code may access it directly, without checking for NULL. If the constructing code does not initialize this field, they will get an assert, and also the verifier will fail on buffers that have missing required fields.</li>
+<li><code>original_order</code> (on a table): since elements in a table do not need to be stored in any particular order, they are often optimized for space by sorting them to size. This attribute stops that from happening.</li>
+<li><code>force_align: size</code> (on a struct): force the alignment of this struct to be something higher than what it is naturally aligned to. Causes these structs to be aligned to that amount inside a buffer, IF that buffer is allocated with that alignment (which is not necessarily the case for buffers accessed directly inside a <code>FlatBufferBuilder</code>).</li>
+<li><code>bit_flags</code> (on an enum): the values of this field indicate bits, meaning that any value N specified in the schema will end up representing 1&lt;&lt;N, or if you don't specify values at all, you'll get the sequence 1, 2, 4, 8, ...</li>
+<li><code>nested_flatbuffer: "table_name"</code> (on a field): this indicates that the field (which must be a vector of ubyte) contains flatbuffer data, for which the root type is given by <code>table_name</code>. The generated code will then produce a convenient accessor for the nested FlatBuffer.</li>
+<li><code>key</code> (on a field): this field is meant to be used as a key when sorting a vector of the type of table it sits in. Can be used for in-place binary search.</li>
+</ul>
+<h2>JSON Parsing</h2>
+<p>The same parser that parses the schema declarations above is also able to parse JSON objects that conform to this schema. So, unlike other JSON parsers, this parser is strongly typed, and parses directly into a FlatBuffer (see the compiler documentation on how to do this from the command line, or the C++ documentation on how to do this at runtime).</p>
+<p>Besides needing a schema, there are a few other changes to how it parses JSON:</p>
+<ul>
+<li>It accepts field names with and without quotes, like many JSON parsers already do. It outputs them without quotes as well, though can be made to output them using the <code>strict_json</code> flag.</li>
+<li>If a field has an enum type, the parser will recognize symbolic enum values (with or without quotes) instead of numbers, e.g. <code>field: EnumVal</code>. If a field is of integral type, you can still use symbolic names, but values need to be prefixed with their type and need to be quoted, e.g. <code>field: "Enum.EnumVal"</code>. For enums representing flags, you may place multiple inside a string separated by spaces to OR them, e.g. <code>field: "EnumVal1 EnumVal2"</code> or <code>field: "Enum.EnumVal1 Enum.EnumVal2"</code>.</li>
+<li>Similarly, for unions, these need to specified with two fields much like you do when serializing from code. E.g. for a field <code>foo</code>, you must add a field <code>foo_type: FooOne</code> right before the <code>foo</code> field, where <code>FooOne</code> would be the table out of the union you want to use.</li>
+<li>A field that has the value <code>null</code> (e.g. <code>field: null</code>) is intended to have the default value for that field (thus has the same effect as if that field wasn't specified at all).</li>
+</ul>
+<p>When parsing JSON, it recognizes the following escape codes in strings:</p>
+<ul>
+<li><code>\n</code> - linefeed.</li>
+<li><code>\t</code> - tab.</li>
+<li><code>\r</code> - carriage return.</li>
+<li><code>\b</code> - backspace.</li>
+<li><code>\f</code> - form feed.</li>
+<li><code>\"</code> - double quote.</li>
+<li><code>\\</code> - backslash.</li>
+<li><code>\/</code> - forward slash.</li>
+<li><code>\uXXXX</code> - 16-bit unicode code point, converted to the equivalent UTF-8 representation.</li>
+<li><code>\xXX</code> - 8-bit binary hexadecimal number XX. This is the only one that is not in the JSON spec (see <a href="http://json.org/">http://json.org/</a>), but is needed to be able to encode arbitrary binary in strings to text and back without losing information (e.g. the byte 0xFF can't be represented in standard JSON).</li>
+</ul>
+<p>It also generates these escape codes back again when generating JSON from a binary representation.</p>
+<h2>Gotchas</h2>
+<h3>Schemas and version control</h3>
+<p>FlatBuffers relies on new field declarations being added at the end, and earlier declarations to not be removed, but be marked deprecated when needed. We think this is an improvement over the manual number assignment that happens in Protocol Buffers (and which is still an option using the <code>id</code> attribute mentioned above).</p>
+<p>One place where this is possibly problematic however is source control. If user A adds a field, generates new binary data with this new schema, then tries to commit both to source control after user B already committed a new field also, and just auto-merges the schema, the binary files are now invalid compared to the new schema.</p>
+<p>The solution of course is that you should not be generating binary data before your schema changes have been committed, ensuring consistency with the rest of the world. If this is not practical for you, use explicit field ids, which should always generate a merge conflict if two people try to allocate the same id.</p>
+<h3>Schema evolution examples</h3>
+<p>Some examples to clarify what happens as you change a schema:</p>
+<p>If we have the following original schema: </p><pre class="fragment">table { a:int; b:int; }
+</pre><p>And we extend it: </p><pre class="fragment">table { a:int; b:int; c:int; }
+</pre><p>This is ok. Code compiled with the old schema reading data generated with the new one will simply ignore the presence of the new field. Code compiled with the new schema reading old data will get the default value for <code>c</code> (which is 0 in this case, since it is not specified). </p><pre class="fragment">table { a:int (deprecated); b:int; }
+</pre><p>This is also ok. Code compiled with the old schema reading newer data will now always get the default value for <code>a</code> since it is not present. Code compiled with the new schema now cannot read nor write <code>a</code> anymore (any existing code that tries to do so will result in compile errors), but can still read old data (they will ignore the field). </p><pre class="fragment">table { c:int a:int; b:int; }
+</pre><p>This is NOT ok, as this makes the schemas incompatible. Old code reading newer data will interpret <code>c</code> as if it was <code>a</code>, and new code reading old data accessing <code>a</code> will instead receive <code>b</code>. </p><pre class="fragment">table { c:int (id: 2); a:int (id: 0); b:int (id: 1); }
+</pre><p>This is ok. If your intent was to order/group fields in a way that makes sense semantically, you can do so using explicit id assignment. Now we are compatible with the original schema, and the fields can be ordered in any way, as long as we keep the sequence of ids. </p><pre class="fragment">table { b:int; }
+</pre><p>NOT ok. We can only remove a field by deprecation, regardless of wether we use explicit ids or not. </p><pre class="fragment">table { a:uint; b:uint; }
+</pre><p>This is MAYBE ok, and only in the case where the type change is the same size, like here. If old data never contained any negative numbers, this will be safe to do. </p><pre class="fragment">table { a:int = 1; b:int = 2; }
+</pre><p>Generally NOT ok. Any older data written that had 0 values were not written to the buffer, and rely on the default value to be recreated. These will now have those values appear to <code>1</code> and <code>2</code> instead. There may be cases in which this is ok, but care must be taken. </p><pre class="fragment">table { aa:int; bb:int; }
+</pre><p>Occasionally ok. You've renamed fields, which will break all code (and JSON files!) that use this schema, but as long as the change is obvious, this is not incompatible with the actual binary buffers, since those only ever address fields by id/offset. <br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_internals.html b/flatbuffers_internals.html
new file mode 100644
index 0000000000000000000000000000000000000000..1c37467ab199bc92d9bced50c9716f746b49f326
--- /dev/null
+++ b/flatbuffers_internals.html
@@ -0,0 +1,259 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: FlatBuffer Internals</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_internals.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">FlatBuffer Internals </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>This section is entirely optional for the use of FlatBuffers. In normal usage, you should never need the information contained herein. If you're interested however, it should give you more of an appreciation of why FlatBuffers is both efficient and convenient.</p>
+<h3>Format components</h3>
+<p>A FlatBuffer is a binary file and in-memory format consisting mostly of scalars of various sizes, all aligned to their own size. Each scalar is also always represented in little-endian format, as this corresponds to all commonly used CPUs today. FlatBuffers will also work on big-endian machines, but will be slightly slower because of additional byte-swap intrinsics.</p>
+<p>On purpose, the format leaves a lot of details about where exactly things live in memory undefined, e.g. fields in a table can have any order, and objects to some extent can be stored in many orders. This is because the format doesn't need this information to be efficient, and it leaves room for optimization and extension (for example, fields can be packed in a way that is most compact). Instead, the format is defined in terms of offsets and adjacency only. This may mean two different implementations may produce different binaries given the same input values, and this is perfectly valid.</p>
+<h3>Format identification</h3>
+<p>The format also doesn't contain information for format identification and versioning, which is also by design. FlatBuffers is a statically typed system, meaning the user of a buffer needs to know what kind of buffer it is. FlatBuffers can of course be wrapped inside other containers where needed, or you can use its union feature to dynamically identify multiple possible sub-objects stored. Additionally, it can be used together with the schema parser if full reflective capabilities are desired.</p>
+<p>Versioning is something that is intrinsically part of the format (the optionality / extensibility of fields), so the format itself does not need a version number (it's a meta-format, in a sense). We're hoping that this format can accommodate all data needed. If format breaking changes are ever necessary, it would become a new kind of format rather than just a variation.</p>
+<h3>Offsets</h3>
+<p>The most important and generic offset type (see <code>flatbuffers.h</code>) is <code>uoffset_t</code>, which is currently always a <code>uint32_t</code>, and is used to refer to all tables/unions/strings/vectors (these are never stored in-line). 32bit is intentional, since we want to keep the format binary compatible between 32 and 64bit systems, and a 64bit offset would bloat the size for almost all uses. A version of this format with 64bit (or 16bit) offsets is easy to set when needed. Unsigned means they can only point in one direction, which typically is forward (towards a higher memory location). Any backwards offsets will be explicitly marked as such.</p>
+<p>The format starts with an <code>uoffset_t</code> to the root object in the buffer.</p>
+<p>We have two kinds of objects, structs and tables.</p>
+<h3>Structs</h3>
+<p>These are the simplest, and as mentioned, intended for simple data that benefits from being extra efficient and doesn't need versioning / extensibility. They are always stored inline in their parent (a struct, table, or vector) for maximum compactness. Structs define a consistent memory layout where all components are aligned to their size, and structs aligned to their largest scalar member. This is done independent of the alignment rules of the underlying compiler to guarantee a cross platform compatible layout. This layout is then enforced in the generated code.</p>
+<h3>Tables</h3>
+<p>Unlike structs, these are not stored in inline in their parent, but are referred to by offset.</p>
+<p>They start with an <code>soffset_t</code> to a vtable. This is a signed version of <code>uoffset_t</code>, since vtables may be stored anywhere relative to the object. This offset is substracted (not added) from the object start to arrive at the vtable start. This offset is followed by all the fields as aligned scalars (or offsets). Unlike structs, not all fields need to be present. There is no set order and layout.</p>
+<p>To be able to access fields regardless of these uncertainties, we go through a vtable of offsets. Vtables are shared between any objects that happen to have the same vtable values.</p>
+<p>The elements of a vtable are all of type <code>voffset_t</code>, which is a <code>uint16_t</code>. The first element is the size of the vtable in bytes, including the size element. The second one is the size of the object, in bytes (including the vtable offset). This size could be used for streaming, to know how many bytes to read to be able to access all <em>inline</em> fields of the object. The remaining elements are the N offsets, where N is the amount of fields declared in the schema when the code that constructed this buffer was compiled (thus, the size of the table is N + 2).</p>
+<p>All accessor functions in the generated code for tables contain the offset into this table as a constant. This offset is checked against the first field (the number of elements), to protect against newer code reading older data. If this offset is out of range, or the vtable entry is 0, that means the field is not present in this object, and the default value is return. Otherwise, the entry is used as offset to the field to be read.</p>
+<h3>Strings and Vectors</h3>
+<p>Strings are simply a vector of bytes, and are always null-terminated. Vectors are stored as contiguous aligned scalar elements prefixed by a 32bit element count (not including any null termination). Neither is stored inline in their parent, but are referred to by offset.</p>
+<h3>Construction</h3>
+<p>The current implementation constructs these buffers backwards (starting at the highest memory address of the buffer), since that significantly reduces the amount of bookkeeping and simplifies the construction API.</p>
+<h3>Code example</h3>
+<p>Here's an example of the code that gets generated for the <code>samples/monster.fbs</code>. What follows is the entire file, broken up by comments: </p><pre class="fragment">// automatically generated, do not modify
+
+#include "flatbuffers/flatbuffers.h"
+
+namespace MyGame {
+namespace Sample {
+</pre><p>Nested namespace support. </p><pre class="fragment">enum {
+  Color_Red = 0,
+  Color_Green = 1,
+  Color_Blue = 2,
+};
+
+inline const char **EnumNamesColor() {
+  static const char *names[] = { "Red", "Green", "Blue", nullptr };
+  return names;
+}
+
+inline const char *EnumNameColor(int e) { return EnumNamesColor()[e]; }
+</pre><p>Enums and convenient reverse lookup. </p><pre class="fragment">enum {
+  Any_NONE = 0,
+  Any_Monster = 1,
+};
+
+inline const char **EnumNamesAny() {
+  static const char *names[] = { "NONE", "Monster", nullptr };
+  return names;
+}
+
+inline const char *EnumNameAny(int e) { return EnumNamesAny()[e]; }
+</pre><p>Unions share a lot with enums. </p><pre class="fragment">struct Vec3;
+struct Monster;
+</pre><p>Predeclare all data types since circular references between types are allowed (circular references between object are not, though). </p><pre class="fragment">MANUALLY_ALIGNED_STRUCT(4) Vec3 {
+ private:
+  float x_;
+  float y_;
+  float z_;
+
+ public:
+  Vec3(float x, float y, float z)
+    : x_(flatbuffers::EndianScalar(x)), y_(flatbuffers::EndianScalar(y)), z_(flatbuffers::EndianScalar(z)) {}
+
+  float x() const { return flatbuffers::EndianScalar(x_); }
+  float y() const { return flatbuffers::EndianScalar(y_); }
+  float z() const { return flatbuffers::EndianScalar(z_); }
+};
+STRUCT_END(Vec3, 12);
+</pre><p>These ugly macros do a couple of things: they turn off any padding the compiler might normally do, since we add padding manually (though none in this example), and they enforce alignment chosen by FlatBuffers. This ensures the layout of this struct will look the same regardless of compiler and platform. Note that the fields are private: this is because these store little endian scalars regardless of platform (since this is part of the serialized data). <code>EndianScalar</code> then converts back and forth, which is a no-op on all current mobile and desktop platforms, and a single machine instruction on the few remaining big endian platforms. </p><pre class="fragment">struct Monster : private flatbuffers::Table {
+  const Vec3 *pos() const { return GetStruct&lt;const Vec3 *&gt;(4); }
+  int16_t mana() const { return GetField&lt;int16_t&gt;(6, 150); }
+  int16_t hp() const { return GetField&lt;int16_t&gt;(8, 100); }
+  const flatbuffers::String *name() const { return GetPointer&lt;const flatbuffers::String *&gt;(10); }
+  const flatbuffers::Vector&lt;uint8_t&gt; *inventory() const { return GetPointer&lt;const flatbuffers::Vector&lt;uint8_t&gt; *&gt;(14); }
+  int8_t color() const { return GetField&lt;int8_t&gt;(16, 2); }
+};
+</pre><p>Tables are a bit more complicated. A table accessor struct is used to point at the serialized data for a table, which always starts with an offset to its vtable. It derives from <code>Table</code>, which contains the <code>GetField</code> helper functions. GetField takes a vtable offset, and a default value. It will look in the vtable at that offset. If the offset is out of bounds (data from an older version) or the vtable entry is 0, the field is not present and the default is returned. Otherwise, it uses the entry as an offset into the table to locate the field. </p><pre class="fragment">struct MonsterBuilder {
+  flatbuffers::FlatBufferBuilder &amp;fbb_;
+  flatbuffers::uoffset_t start_;
+  void add_pos(const Vec3 *pos) { fbb_.AddStruct(4, pos); }
+  void add_mana(int16_t mana) { fbb_.AddElement&lt;int16_t&gt;(6, mana, 150); }
+  void add_hp(int16_t hp) { fbb_.AddElement&lt;int16_t&gt;(8, hp, 100); }
+  void add_name(flatbuffers::Offset&lt;flatbuffers::String&gt; name) { fbb_.AddOffset(10, name); }
+  void add_inventory(flatbuffers::Offset&lt;flatbuffers::Vector&lt;uint8_t&gt;&gt; inventory) { fbb_.AddOffset(14, inventory); }
+  void add_color(int8_t color) { fbb_.AddElement&lt;int8_t&gt;(16, color, 2); }
+  MonsterBuilder(flatbuffers::FlatBufferBuilder &amp;_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); }
+  flatbuffers::Offset&lt;Monster&gt; Finish() { return flatbuffers::Offset&lt;Monster&gt;(fbb_.EndTable(start_, 7)); }
+};
+</pre><p><code>MonsterBuilder</code> is the base helper struct to construct a table using a <code>FlatBufferBuilder</code>. You can add the fields in any order, and the <code>Finish</code> call will ensure the correct vtable gets generated. </p><pre class="fragment">inline flatbuffers::Offset&lt;Monster&gt; CreateMonster(flatbuffers::FlatBufferBuilder &amp;_fbb,
+                                                  const Vec3 *pos, int16_t mana,
+                                                  int16_t hp,
+                                                  flatbuffers::Offset&lt;flatbuffers::String&gt; name,
+                                                  flatbuffers::Offset&lt;flatbuffers::Vector&lt;uint8_t&gt;&gt; inventory,
+                                                  int8_t color) {
+  MonsterBuilder builder_(_fbb);
+  builder_.add_inventory(inventory);
+  builder_.add_name(name);
+  builder_.add_pos(pos);
+  builder_.add_hp(hp);
+  builder_.add_mana(mana);
+  builder_.add_color(color);
+  return builder_.Finish();
+}
+</pre><p><code>CreateMonster</code> is a convenience function that calls all functions in <code>MonsterBuilder</code> above for you. Note that if you pass values which are defaults as arguments, it will not actually construct that field, so you can probably use this function instead of the builder class in almost all cases. </p><pre class="fragment">inline const Monster *GetMonster(const void *buf) { return flatbuffers::GetRoot&lt;Monster&gt;(buf); }
+</pre><p>This function is only generated for the root table type, to be able to start traversing a FlatBuffer from a raw buffer pointer. </p><pre class="fragment">}; // namespace MyGame
+}; // namespace Sample
+</pre><h3>Encoding example.</h3>
+<p>Below is a sample encoding for the following JSON corresponding to the above schema: </p><pre class="fragment">{ pos: { x: 1, y: 2, z: 3 }, name: "fred", hp: 50 }
+</pre><p>Resulting in this binary buffer: </p><pre class="fragment">// Start of the buffer:
+uint32_t 20  // Offset to the root table.
+
+// Start of the vtable. Not shared in this example, but could be:
+uint16_t 16 // Size of table, starting from here.
+uint16_t 22 // Size of object inline data.
+uint16_t 4, 0, 20, 16, 0, 0  // Offsets to fields from start of (root) table, 0 for not present.
+
+// Start of the root table:
+int32_t 16     // Offset to vtable used (default negative direction)
+float 1, 2, 3  // the Vec3 struct, inline.
+uint32_t 8     // Offset to the name string.
+int16_t 50     // hp field.
+int16_t 0      // Padding for alignment.
+
+// Start of name string:
+uint32_t 4  // Length of string.
+int8_t 'f', 'r', 'e', 'd', 0, 0, 0, 0  // Text + 0 termination + padding.
+</pre><p>Note that this not the only possible encoding, since the writer has some flexibility in which of the children of root object to write first (though in this case there's only one string), and what order to write the fields in. Different orders may also cause different alignments to happen.</p>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_support.html b/flatbuffers_support.html
new file mode 100644
index 0000000000000000000000000000000000000000..bf15e72f99dc9c54a31581307768ac30557ebd8d
--- /dev/null
+++ b/flatbuffers_support.html
@@ -0,0 +1,178 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Platform / Language / Feature support</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_support.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Platform / Language / Feature support </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>FlatBuffers is actively being worked on, which means that certain platform / language / feature combinations may not be available yet.</p>
+<p>This page tries to track those issues, to make informed decisions easier. In general:</p>
+<ul>
+<li>Languages: language support beyond the ones created by the original FlatBuffer authors typically depends on community contributions.</li>
+<li>Features: C++ was the first language supported, since our original target was high performance game development. It thus has the richest feature set, and is likely most robust. Other languages are catching up however.</li>
+<li>Platforms: All language implementations are typically portable to most platforms, unless where noted otherwise.</li>
+</ul>
+<p>NOTE: this table is a start, it needs to be extended.</p>
+<table class="doxtable">
+<tr>
+<th>Feature </th><th>C++ </th><th>Java </th><th>C# </th><th>Go </th><th>Python </th><th>JS </th><th>C </th><th>PHP </th><th>Ruby  </th></tr>
+<tr>
+<td>Codegen for all basic features </td><td>Yes </td><td>Yes </td><td>Yes </td><td>Yes </td><td>Yes </td><td>Yes </td><td>WiP </td><td>WiP </td><td>WiP </td></tr>
+<tr>
+<td>JSON parsing </td><td>Yes </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td></tr>
+<tr>
+<td>Simple mutation </td><td>Yes </td><td>WIP </td><td>WIP </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td></tr>
+<tr>
+<td>Reflection </td><td>Yes </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td></tr>
+<tr>
+<td>Buffer verifier </td><td>Yes </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td><td>No </td></tr>
+<tr>
+<td>Testing: basic </td><td>Yes </td><td>Yes </td><td>Yes </td><td>Yes </td><td>Yes </td><td>Yes </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Testing: fuzz </td><td>Yes </td><td>No </td><td>No </td><td>Yes </td><td>Yes </td><td>No </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Performance: </td><td>Superb </td><td>Great </td><td>Great </td><td>Great </td><td>Ok </td><td>? </td><td>Superb</td><td>? </td><td>? </td></tr>
+<tr>
+<td>Platform: Windows </td><td>VS2010 </td><td>Yes </td><td>Yes </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Platform: Linux </td><td>GCC282 </td><td>Yes </td><td>? </td><td>Yes </td><td>Yes </td><td>? </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Platform: OS X </td><td>Xcode4 </td><td>? </td><td>? </td><td>? </td><td>Yes </td><td>? </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Platform: Android </td><td>NDK10d </td><td>Yes </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Platform: iOS </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Engine: Unity </td><td>? </td><td>? </td><td>Yes </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td><td>? </td></tr>
+<tr>
+<td>Primary authors (github) </td><td>gwvo </td><td>gwvo </td><td>ev*/js*</td><td>rw </td><td>rw </td><td>evanw/ev* </td><td>mik* </td><td>ch* </td><td>rw </td></tr>
+</table>
+<ul>
+<li>ev = evolutional</li>
+<li>js = jonsimantov</li>
+<li>mik = mikkelfj</li>
+<li>ch = chobie</li>
+</ul>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/flatbuffers_white_paper.html b/flatbuffers_white_paper.html
new file mode 100644
index 0000000000000000000000000000000000000000..01a2afc7525d9bff9fe800239216570662775083
--- /dev/null
+++ b/flatbuffers_white_paper.html
@@ -0,0 +1,163 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: FlatBuffers white paper</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('flatbuffers_white_paper.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">FlatBuffers white paper </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>This document tries to shed some light on to the "why" of FlatBuffers, a new serialization library.</p>
+<h2>Motivation</h2>
+<p>Back in the good old days, performance was all about instructions and cycles. Nowadays, processing units have run so far ahead of the memory subsystem, that making an efficient application should start and finish with thinking about memory. How much you use of it. How you lay it out and access it. How you allocate it. When you copy it.</p>
+<p>Serialization is a pervasive activity in a lot programs, and a common source of memory inefficiency, with lots of temporary data structures needed to parse and represent data, and inefficient allocation patterns and locality.</p>
+<p>If it would be possible to do serialization with no temporary objects, no additional allocation, no copying, and good locality, this could be of great value. The reason serialization systems usually don't manage this is because it goes counter to forwards/backwards compatability, and platform specifics like endianness and alignment.</p>
+<p>FlatBuffers is what you get if you try anyway.</p>
+<p>In particular, FlatBuffers focus is on mobile hardware (where memory size and memory bandwidth is even more constrained than on desktop hardware), and applications that have the highest performance needs: games.</p>
+<h2>FlatBuffers</h2>
+<p><em>This is a summary of FlatBuffers functionality, with some rationale. A more detailed description can be found in the FlatBuffers documentation.</em></p>
+<h3>Summary</h3>
+<p>A FlatBuffer is a binary buffer containing nested objects (structs, tables, vectors,..) organized using offsets so that the data can be traversed in-place just like any pointer-based data structure. Unlike most in-memory data structures however, it uses strict rules of alignment and endianness (always little) to ensure these buffers are cross platform. Additionally, for objects that are tables, FlatBuffers provides forwards/backwards compatibility and general optionality of fields, to support most forms of format evolution.</p>
+<p>You define your object types in a schema, which can then be compiled to C++ or Java for low to zero overhead reading &amp; writing. Optionally, JSON data can be dynamically parsed into buffers.</p>
+<h3>Tables</h3>
+<p>Tables are the cornerstone of FlatBuffers, since format evolution is essential for most applications of serialization. Typically, dealing with format changes is something that can be done transparently during the parsing process of most serialization solutions out there. But a FlatBuffer isn't parsed before it is accessed.</p>
+<p>Tables get around this by using an extra indirection to access fields, through a <em>vtable</em>. Each table comes with a vtable (which may be shared between multiple tables with the same layout), and contains information where fields for this particular kind of instance of vtable are stored. The vtable may also indicate that the field is not present (because this FlatBuffer was written with an older version of the software, of simply because the information was not necessary for this instance, or deemed deprecated), in which case a default value is returned.</p>
+<p>Tables have a low overhead in memory (since vtables are small and shared) and in access cost (an extra indirection), but provide great flexibility. Tables may even cost less memory than the equivalent struct, since fields do not need to be stored when they are equal to their default.</p>
+<p>FlatBuffers additionally offers "naked" structs, which do not offer forwards/backwards compatibility, but can be even smaller (useful for very small objects that are unlikely to change, like e.g. a coordinate pair or a RGBA color).</p>
+<h3>Schemas</h3>
+<p>While schemas reduce some generality (you can't just read any data without having its schema), they have a lot of upsides:</p>
+<ul>
+<li>Most information about the format can be factored into the generated code, reducing memory needed to store data, and time to access it.</li>
+<li>The strong typing of the data definitions means less error checking/handling at runtime (less can go wrong).</li>
+<li>A schema enables us to access a buffer without parsing.</li>
+</ul>
+<p>FlatBuffer schemas are fairly similar to those of the incumbent, Protocol Buffers, and generally should be readable to those familiar with the C family of languages. We chose to improve upon the features offered by .proto files in the following ways:</p>
+<ul>
+<li>Deprecation of fields instead of manual field id assignment. Extending an object in a .proto means hunting for a free slot among the numbers (preferring lower numbers since they have a more compact representation). Besides being inconvenient, it also makes removing fields problematic: you either have to keep them, not making it obvious that this field shouldn't be read/written anymore, and still generating accessors. Or you remove it, but now you risk that there's still old data around that uses that field by the time someone reuses that field id, with nasty consequences.</li>
+<li>Differentiating between tables and structs (see above). Effectively all table fields are <code>optional</code>, and all struct fields are <code>required</code>.</li>
+<li>Having a native vector type instead of <code>repeated</code>. This gives you a length without having to collect all items, and in the case of scalars provides for a more compact representation, and one that guarantees adjacency.</li>
+<li>Having a native <code>union</code> type instead of using a series of <code>optional</code> fields, all of which must be checked individually.</li>
+<li>Being able to define defaults for all scalars, instead of having to deal with their optionality at each access.</li>
+<li>A parser that can deal with both schemas and data definitions (JSON compatible) uniformly.</li>
+</ul>
+<p><br />
+ </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/functions.html b/functions.html
new file mode 100644
index 0000000000000000000000000000000000000000..84001aafc219c2c2c5796ce58f8ba7118c75a887
--- /dev/null
+++ b/functions.html
@@ -0,0 +1,400 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Class 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_prop.html"><span>Properties</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_$"><span>$</span></a></li>
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_k"><span>k</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li class="current"><a href="#index_s"><span>s</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('functions.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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 documented class members with links to the class documentation for each member:</div>
+
+<h3><a class="anchor" id="index_$"></a>- $ -</h3><ul>
+<li>$bb
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>__construct()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>AddBool()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addBool()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addBoolean()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>addByte()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddByte()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addByte()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addDouble()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddDouble()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addDouble()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addFloat()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddFloat()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addFloat()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addInt()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddInt()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addInt()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addLong()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddLong()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addLong()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addOffset()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddOffset()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addOffset()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddSbyte()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addSbyte()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addShort()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddShort()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addShort()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddUint()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addUint()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddUlong()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addUlong()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddUshort()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addUshort()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>Clear()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>createString()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>CreateString()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>createString()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>CreateUninitializedVector()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>CreateVector()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>CreateVectorOfSortedTables()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>CreateVectorOfStructs()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>dataBuffer()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>DataBuffer
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>dataBuffer()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EndVector()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41">FlatBuffers.FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>finish()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>Finish()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>finish()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>FlatBufferBuilder()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d">com.google.flatbuffers.FlatBufferBuilder</a>
+, <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>forceDefaults()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>ForceDefaults()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>forceDefaults()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>GetBufferPointer()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>GetCurrentBufferPointer()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>GetSize()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>init()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>kFileIdentifierLength
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>ReleaseBufferPointer()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>sizedByteArray()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>SizedByteArray()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>sizedByteArray()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/functions_func.html b/functions_func.html
new file mode 100644
index 0000000000000000000000000000000000000000..9b419923afd166f18ca5228e537edc81f50e30ba
--- /dev/null
+++ b/functions_func.html
@@ -0,0 +1,379 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Class Members - Functions</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_prop.html"><span>Properties</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li class="current"><a href="#index_s"><span>s</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('functions_func.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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">
+&#160;
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>__construct()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>AddBool()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addBool()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addBoolean()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>addByte()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddByte()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addByte()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addDouble()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddDouble()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addDouble()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addFloat()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddFloat()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addFloat()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addInt()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddInt()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addInt()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addLong()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddLong()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addLong()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addOffset()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddOffset()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addOffset()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddSbyte()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addSbyte()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>addShort()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>AddShort()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addShort()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddUint()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addUint()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddUlong()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addUlong()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>AddUshort()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>addUshort()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>Clear()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>createString()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>CreateString()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>createString()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>CreateUninitializedVector()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>CreateVector()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>CreateVectorOfSortedTables()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>CreateVectorOfStructs()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>dataBuffer()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7">com.google.flatbuffers.FlatBufferBuilder</a>
+, <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EndVector()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41">FlatBuffers.FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>finish()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>Finish()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>finish()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>FlatBufferBuilder()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387">com.google.flatbuffers.FlatBufferBuilder</a>
+, <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d">FlatBuffers.FlatBufferBuilder</a>
+, <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>forceDefaults()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>ForceDefaults()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>forceDefaults()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>GetBufferPointer()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>GetCurrentBufferPointer()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9">flatbuffers::FlatBufferBuilder</a>
+</li>
+<li>GetSize()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>init()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>ReleaseBufferPointer()
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>sizedByteArray()
+: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078">com.google.flatbuffers.FlatBufferBuilder</a>
+</li>
+<li>SizedByteArray()
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2">FlatBuffers.FlatBufferBuilder</a>
+</li>
+<li>sizedByteArray()
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/functions_prop.html b/functions_prop.html
new file mode 100644
index 0000000000000000000000000000000000000000..e8f793a8075e62fed54efb0a900897df94a06b9e
--- /dev/null
+++ b/functions_prop.html
@@ -0,0 +1,150 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Class Members - Properties</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li class="current"><a href="functions_prop.html"><span>Properties</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('functions_prop.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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">
+&#160;<ul>
+<li>DataBuffer
+: <a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211">FlatBuffers.FlatBufferBuilder</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/functions_vars.html b/functions_vars.html
new file mode 100644
index 0000000000000000000000000000000000000000..4a78ded7e11c377cfc855a4886b9fe7eb5d49af4
--- /dev/null
+++ b/functions_vars.html
@@ -0,0 +1,153 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Class Members - Variables</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_prop.html"><span>Properties</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('functions_vars.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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">
+&#160;<ul>
+<li>$bb
+: <a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b">Google\FlatBuffers\FlatbufferBuilder</a>
+</li>
+<li>kFileIdentifierLength
+: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19">flatbuffers::FlatBufferBuilder</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/group__flatbuffers__cpp__api.html b/group__flatbuffers__cpp__api.html
new file mode 100644
index 0000000000000000000000000000000000000000..ae300f6e0d9bb9c7b071f39636e438fedb083b92
--- /dev/null
+++ b/group__flatbuffers__cpp__api.html
@@ -0,0 +1,142 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: C++ API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('group__flatbuffers__cpp__api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">C++ API</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>FlatBuffers API for C++.  
+<a href="#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>FlatBuffers API for C++. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html">flatbuffers::FlatBufferBuilder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper class to hold data needed in creation of a FlatBuffer.  <a href="classflatbuffers_1_1_flat_buffer_builder.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/group__flatbuffers__cpp__api.js b/group__flatbuffers__cpp__api.js
new file mode 100644
index 0000000000000000000000000000000000000000..a7a615ebb0bbd3658454d3d070eb30c78a55eb22
--- /dev/null
+++ b/group__flatbuffers__cpp__api.js
@@ -0,0 +1,26 @@
+var group__flatbuffers__cpp__api =
+[
+    [ "FlatBufferBuilder", "classflatbuffers_1_1_flat_buffer_builder.html", [
+      [ "FlatBufferBuilder", "classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256", null ],
+      [ "Clear", "classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412", null ],
+      [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe", null ],
+      [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5", null ],
+      [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f", null ],
+      [ "CreateString", "classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506", null ],
+      [ "CreateUninitializedVector", "classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c", null ],
+      [ "CreateUninitializedVector", "classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50", null ],
+      [ "CreateVector", "classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3", null ],
+      [ "CreateVector", "classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207", null ],
+      [ "CreateVectorOfSortedTables", "classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6", null ],
+      [ "CreateVectorOfSortedTables", "classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135", null ],
+      [ "CreateVectorOfStructs", "classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7", null ],
+      [ "CreateVectorOfStructs", "classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1", null ],
+      [ "Finish", "classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912", null ],
+      [ "ForceDefaults", "classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a", null ],
+      [ "GetBufferPointer", "classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8", null ],
+      [ "GetCurrentBufferPointer", "classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9", null ],
+      [ "GetSize", "classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63", null ],
+      [ "ReleaseBufferPointer", "classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44", null ],
+      [ "kFileIdentifierLength", "classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19", null ]
+    ] ]
+];
\ No newline at end of file
diff --git a/group__flatbuffers__csharp__api.html b/group__flatbuffers__csharp__api.html
new file mode 100644
index 0000000000000000000000000000000000000000..cac54475e8f0c40b207d75e03c7f25a220a24e57
--- /dev/null
+++ b/group__flatbuffers__csharp__api.html
@@ -0,0 +1,141 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: C# API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('group__flatbuffers__csharp__api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">C# API</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>FlatBuffers API for C#.  
+<a href="#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>FlatBuffers API for C#. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_flat_buffers"><td class="memItemLeft" align="right" valign="top">package &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_flat_buffers.html">FlatBuffers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/group__flatbuffers__csharp__api.js b/group__flatbuffers__csharp__api.js
new file mode 100644
index 0000000000000000000000000000000000000000..aa9288c2339e7cfad9f609d8a7842c0bc83ab154
--- /dev/null
+++ b/group__flatbuffers__csharp__api.js
@@ -0,0 +1,4 @@
+var group__flatbuffers__csharp__api =
+[
+    [ "FlatBuffers", "namespace_flat_buffers.html", null ]
+];
\ No newline at end of file
diff --git a/group__flatbuffers__go__api.html b/group__flatbuffers__go__api.html
new file mode 100644
index 0000000000000000000000000000000000000000..478d45d0d6a7058b956fbdddfdbfe1ce1051ab9b
--- /dev/null
+++ b/group__flatbuffers__go__api.html
@@ -0,0 +1,236 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Go API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('group__flatbuffers__go__api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Go API</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>FlatBuffers API for Go.  
+<a href="#details">More...</a></p>
+<p>FlatBuffers API for Go. </p>
+<div class="fragment"><div class="line">PACKAGE DOCUMENTATION</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">package </span>flatbuffers</div>
+<div class="line">    Package flatbuffers provides facilities to read and write flatbuffers</div>
+<div class="line">    objects.</div>
+<div class="line"></div>
+<div class="line">TYPES</div>
+<div class="line"></div>
+<div class="line">type Builder struct {</div>
+<div class="line">    <span class="comment">// `Bytes` gives raw access to the buffer. Most users will want to use</span></div>
+<div class="line">    <span class="comment">// FinishedBytes() instead.</span></div>
+<div class="line">    Bytes []byte</div>
+<div class="line">}</div>
+<div class="line">    Builder is a state machine for creating FlatBuffer objects. Use a</div>
+<div class="line">    Builder to construct object(s) starting from leaf nodes.</div>
+<div class="line"></div>
+<div class="line">    A Builder constructs byte buffers in a last-first manner for simplicity</div>
+<div class="line">    and performance.</div>
+<div class="line"></div>
+<div class="line">FUNCTIONS</div>
+<div class="line"></div>
+<div class="line">func NewBuilder(initialSize int) *Builder</div>
+<div class="line">    NewBuilder initializes a Builder of size `initial_size`. The internal</div>
+<div class="line">    buffer is grown as needed.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) CreateByteString(s []byte) UOffsetT</div>
+<div class="line">    CreateByteString writes a byte slice as a string (null-terminated).</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) CreateByteVector(v []byte) UOffsetT</div>
+<div class="line">    CreateByteVector writes a ubyte vector</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) CreateString(s string) UOffsetT</div>
+<div class="line">    CreateString writes a null-terminated string as a vector.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) EndVector(vectorNumElems int) UOffsetT</div>
+<div class="line">    EndVector writes data necessary to finish vector construction.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) Finish(rootTable UOffsetT)</div>
+<div class="line">    Finish finalizes a buffer, pointing to the given `rootTable`.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) FinishedBytes() []byte</div>
+<div class="line">    FinishedBytes returns a pointer to the written data in the byte buffer.</div>
+<div class="line">    Panics if the builder is not in a finished state (which is caused by</div>
+<div class="line">    calling `Finish()`).</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) Head() UOffsetT</div>
+<div class="line">    Head gives the start of useful data in the underlying byte buffer. Note:</div>
+<div class="line">    unlike other functions, this value is interpreted as from the left.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependBool(x bool)</div>
+<div class="line">    PrependBool prepends a bool to the Builder buffer. Aligns and checks for</div>
+<div class="line">    space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependByte(x byte)</div>
+<div class="line">    PrependByte prepends a byte to the Builder buffer. Aligns and checks for</div>
+<div class="line">    space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependFloat32(x float32)</div>
+<div class="line">    PrependFloat32 prepends a float32 to the Builder buffer. Aligns and</div>
+<div class="line">    checks for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependFloat64(x float64)</div>
+<div class="line">    PrependFloat64 prepends a float64 to the Builder buffer. Aligns and</div>
+<div class="line">    checks for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependInt16(x int16)</div>
+<div class="line">    PrependInt16 prepends a int16 to the Builder buffer. Aligns and checks</div>
+<div class="line">    for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependInt32(x int32)</div>
+<div class="line">    PrependInt32 prepends a int32 to the Builder buffer. Aligns and checks</div>
+<div class="line">    for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependInt64(x int64)</div>
+<div class="line">    PrependInt64 prepends a int64 to the Builder buffer. Aligns and checks</div>
+<div class="line">    for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependInt8(x int8)</div>
+<div class="line">    PrependInt8 prepends a int8 to the Builder buffer. Aligns and checks for</div>
+<div class="line">    space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependUOffsetT(off UOffsetT)</div>
+<div class="line">    PrependUOffsetT prepends an UOffsetT, relative to where it will be</div>
+<div class="line">    written.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependUint16(x uint16)</div>
+<div class="line">    PrependUint16 prepends a uint16 to the Builder buffer. Aligns and checks</div>
+<div class="line">    for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependUint32(x uint32)</div>
+<div class="line">    PrependUint32 prepends a uint32 to the Builder buffer. Aligns and checks</div>
+<div class="line">    for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependUint64(x uint64)</div>
+<div class="line">    PrependUint64 prepends a uint64 to the Builder buffer. Aligns and checks</div>
+<div class="line">    for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) PrependUint8(x uint8)</div>
+<div class="line">    PrependUint8 prepends a uint8 to the Builder buffer. Aligns and checks</div>
+<div class="line">    for space.</div>
+<div class="line"></div>
+<div class="line">func (b *Builder) Reset()</div>
+<div class="line">    Reset truncates the underlying Builder buffer, facilitating alloc-free</div>
+<div class="line">    reuse of a Builder. It also resets bookkeeping data.</div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/group__flatbuffers__java__api.html b/group__flatbuffers__java__api.html
new file mode 100644
index 0000000000000000000000000000000000000000..a41c18e3985e9f59278aff07fafaa6c43f22610d
--- /dev/null
+++ b/group__flatbuffers__java__api.html
@@ -0,0 +1,142 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Java API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('group__flatbuffers__java__api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Java API</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>FlatBuffers API for Java.  
+<a href="#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>FlatBuffers API for Java. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html">com.google.flatbuffers.FlatBufferBuilder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that helps you build a FlatBuffer.  <a href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/group__flatbuffers__java__api.js b/group__flatbuffers__java__api.js
new file mode 100644
index 0000000000000000000000000000000000000000..59f526dad1f49b6cd49df30db1a0898222c911d7
--- /dev/null
+++ b/group__flatbuffers__java__api.js
@@ -0,0 +1,25 @@
+var group__flatbuffers__java__api =
+[
+    [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html", [
+      [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d", null ],
+      [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387", null ],
+      [ "FlatBufferBuilder", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a61ad1938219bcdbe99cc4b668f4c0f99", null ],
+      [ "addBoolean", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06", null ],
+      [ "addByte", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b", null ],
+      [ "addDouble", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32", null ],
+      [ "addFloat", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d", null ],
+      [ "addInt", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db", null ],
+      [ "addLong", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5", null ],
+      [ "addOffset", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790", null ],
+      [ "addShort", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94", null ],
+      [ "createString", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74", null ],
+      [ "createString", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a8d676eb9973ecba574a220cdef725577", null ],
+      [ "dataBuffer", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7", null ],
+      [ "finish", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14", null ],
+      [ "finish", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a189de474e0c39d663cc65fa21a63f071", null ],
+      [ "forceDefaults", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69", null ],
+      [ "init", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023", null ],
+      [ "sizedByteArray", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078", null ],
+      [ "sizedByteArray", "classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aa636cf5190524c43212b6d96239d7672", null ]
+    ] ]
+];
\ No newline at end of file
diff --git a/group__flatbuffers__javascript__api.html b/group__flatbuffers__javascript__api.html
new file mode 100644
index 0000000000000000000000000000000000000000..5be0930d1e3837c815bb7f7cdb83532fa850926d
--- /dev/null
+++ b/group__flatbuffers__javascript__api.html
@@ -0,0 +1,490 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: JavaScript API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('group__flatbuffers__javascript__api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">JavaScript API</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>FlatBuffers API for JavaScript.  
+<a href="#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>FlatBuffers API for JavaScript. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ga1c36e9d7e294c61d1d6ab0923ea91e8e"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga1c36e9d7e294c61d1d6ab0923ea91e8e">addFloat32</a></td></tr>
+<tr class="memdesc:ga1c36e9d7e294c61d1d6ab0923ea91e8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>float32</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#ga1c36e9d7e294c61d1d6ab0923ea91e8e">More...</a><br /></td></tr>
+<tr class="separator:ga1c36e9d7e294c61d1d6ab0923ea91e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga53af3baf50f96de783c06a35934d63bf"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga53af3baf50f96de783c06a35934d63bf">addFloat64</a></td></tr>
+<tr class="memdesc:ga53af3baf50f96de783c06a35934d63bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <code>float64</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#ga53af3baf50f96de783c06a35934d63bf">More...</a><br /></td></tr>
+<tr class="separator:ga53af3baf50f96de783c06a35934d63bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8260b8431cb8b1c32b5997646cb102a9"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga8260b8431cb8b1c32b5997646cb102a9">addInt16</a></td></tr>
+<tr class="memdesc:ga8260b8431cb8b1c32b5997646cb102a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int16</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#ga8260b8431cb8b1c32b5997646cb102a9">More...</a><br /></td></tr>
+<tr class="separator:ga8260b8431cb8b1c32b5997646cb102a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaba2edd0e1e53d1c2815bb1a6ee54abf5"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#gaba2edd0e1e53d1c2815bb1a6ee54abf5">addInt32</a></td></tr>
+<tr class="memdesc:gaba2edd0e1e53d1c2815bb1a6ee54abf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int32</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#gaba2edd0e1e53d1c2815bb1a6ee54abf5">More...</a><br /></td></tr>
+<tr class="separator:gaba2edd0e1e53d1c2815bb1a6ee54abf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga17a48cc241b10348fd6751ed3a973e2d"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga17a48cc241b10348fd6751ed3a973e2d">addInt64</a></td></tr>
+<tr class="memdesc:ga17a48cc241b10348fd6751ed3a973e2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int64</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#ga17a48cc241b10348fd6751ed3a973e2d">More...</a><br /></td></tr>
+<tr class="separator:ga17a48cc241b10348fd6751ed3a973e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7963cbb1ae0a8589b183f9b26fb25b45"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga7963cbb1ae0a8589b183f9b26fb25b45">addInt8</a></td></tr>
+<tr class="memdesc:ga7963cbb1ae0a8589b183f9b26fb25b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an <code>int8</code> to the buffer, properly aligned, and grows the buffer (if necessary).  <a href="#ga7963cbb1ae0a8589b183f9b26fb25b45">More...</a><br /></td></tr>
+<tr class="separator:ga7963cbb1ae0a8589b183f9b26fb25b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga21ba7dd4c33dafd6abb89568e4d9c8b8"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8">addOffset</a></td></tr>
+<tr class="memdesc:ga21ba7dd4c33dafd6abb89568e4d9c8b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds on offset, relative to where it will be written.  <a href="#ga21ba7dd4c33dafd6abb89568e4d9c8b8">More...</a><br /></td></tr>
+<tr class="separator:ga21ba7dd4c33dafd6abb89568e4d9c8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga997af48d5c8f757fcb962168d67e33fb"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga997af48d5c8f757fcb962168d67e33fb">asUint8Array</a></td></tr>
+<tr class="memdesc:ga997af48d5c8f757fcb962168d67e33fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ByteBuffer representing the FlatBuffer.  <a href="#ga997af48d5c8f757fcb962168d67e33fb">More...</a><br /></td></tr>
+<tr class="separator:ga997af48d5c8f757fcb962168d67e33fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabd00b65bbe9e9fbac55fe4982eb6cec8"><td class="memItemLeft" align="right" valign="top">flatbuffers&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a></td></tr>
+<tr class="memdesc:gabd00b65bbe9e9fbac55fe4982eb6cec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a FlatBufferBuilder.  <a href="#gabd00b65bbe9e9fbac55fe4982eb6cec8">More...</a><br /></td></tr>
+<tr class="separator:gabd00b65bbe9e9fbac55fe4982eb6cec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7a7bd67cb1c3190792d4b2b3e66376f"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#gaa7a7bd67cb1c3190792d4b2b3e66376f">createString</a></td></tr>
+<tr class="memdesc:gaa7a7bd67cb1c3190792d4b2b3e66376f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode the string <code>s</code> in the buffer using UTF-8.  <a href="#gaa7a7bd67cb1c3190792d4b2b3e66376f">More...</a><br /></td></tr>
+<tr class="separator:gaa7a7bd67cb1c3190792d4b2b3e66376f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga674814e0816f06c8a29ab364d19bed60"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga674814e0816f06c8a29ab364d19bed60">dataBuffer</a></td></tr>
+<tr class="memdesc:ga674814e0816f06c8a29ab364d19bed60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ByteBuffer representing the FlatBuffer.  <a href="#ga674814e0816f06c8a29ab364d19bed60">More...</a><br /></td></tr>
+<tr class="separator:ga674814e0816f06c8a29ab364d19bed60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga62c5cf622a7bbcfd49f21bddd8b9bef7"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga62c5cf622a7bbcfd49f21bddd8b9bef7">finish</a></td></tr>
+<tr class="memdesc:ga62c5cf622a7bbcfd49f21bddd8b9bef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize a buffer, poiting to the given <code>root_table</code>.  <a href="#ga62c5cf622a7bbcfd49f21bddd8b9bef7">More...</a><br /></td></tr>
+<tr class="separator:ga62c5cf622a7bbcfd49f21bddd8b9bef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0d1738111b83dffb2c2a7fc8bca19b33"><td class="memItemLeft" align="right" valign="top">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33">forceDefaults</a></td></tr>
+<tr class="memdesc:ga0d1738111b83dffb2c2a7fc8bca19b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">In order to save space, fields that are set to their default value don't get serialized into the buffer.  <a href="#ga0d1738111b83dffb2c2a7fc8bca19b33">More...</a><br /></td></tr>
+<tr class="separator:ga0d1738111b83dffb2c2a7fc8bca19b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="ga1c36e9d7e294c61d1d6ab0923ea91e8e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype addFloat32</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(value) {</div>
+<div class="line">  this.prep(4, 0);</div>
+<div class="line">  this.writeFloat32(value);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Add a <code>float32</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{number}</td><td>value The <code>float32</code> to add the the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga53af3baf50f96de783c06a35934d63bf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype addFloat64</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(value) {</div>
+<div class="line">  this.prep(8, 0);</div>
+<div class="line">  this.writeFloat64(value);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Add a <code>float64</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{number}</td><td>value The <code>float64</code> to add the the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8260b8431cb8b1c32b5997646cb102a9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype addInt16</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(value) {</div>
+<div class="line">  this.prep(2, 0);</div>
+<div class="line">  this.writeInt16(value);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Add an <code>int16</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{number}</td><td>value The <code>int16</code> to add the the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaba2edd0e1e53d1c2815bb1a6ee54abf5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype addInt32</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(value) {</div>
+<div class="line">  this.prep(4, 0);</div>
+<div class="line">  this.writeInt32(value);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Add an <code>int32</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{number}</td><td>value The <code>int32</code> to add the the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga17a48cc241b10348fd6751ed3a973e2d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype addInt64</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(value) {</div>
+<div class="line">  this.prep(8, 0);</div>
+<div class="line">  this.writeInt64(value);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Add an <code>int64</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{flatbuffers.Long}</td><td>value The <code>int64</code> to add the the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7963cbb1ae0a8589b183f9b26fb25b45"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype addInt8</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(value) {</div>
+<div class="line">  this.prep(1, 0);</div>
+<div class="line">  this.writeInt8(value);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Add an <code>int8</code> to the buffer, properly aligned, and grows the buffer (if necessary). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{number}</td><td>value The <code>int8</code> to add the the buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga21ba7dd4c33dafd6abb89568e4d9c8b8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype addOffset</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(offset) {</div>
+<div class="line">  this.prep(flatbuffers.SIZEOF_INT, 0); </div>
+<div class="line">  this.writeInt32(this.offset() - offset + flatbuffers.SIZEOF_INT);</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Adds on offset, relative to where it will be written. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{flatbuffers.Offset}</td><td>offset The offset to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga997af48d5c8f757fcb962168d67e33fb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype asUint8Array</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>() {</div>
+<div class="line">  <span class="keywordflow">return</span> this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Get the ByteBuffer representing the FlatBuffer. </p>
+<p>Only call this after you've called finish(). The actual data starts at the ByteBuffer's current position, not necessarily at 0.</p>
+<dl class="section return"><dt>Returns</dt><dd>{Uint8Array} </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabd00b65bbe9e9fbac55fe4982eb6cec8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers Builder</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a FlatBufferBuilder. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{number=}</td><td>initial_size </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa7a7bd67cb1c3190792d4b2b3e66376f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype createString</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Encode the string <code>s</code> in the buffer using UTF-8. </p>
+<p>If a Uint8Array is passed instead of a string, it is assumed to contain valid UTF-8 encoded data.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{string|Uint8Array}</td><td>s The string to encode </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>{flatbuffers.Offset} The offset in the buffer where the encoded string starts </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga674814e0816f06c8a29ab364d19bed60"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype dataBuffer</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>() {</div>
+<div class="line">  <span class="keywordflow">return</span> this.bb;</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+<p>Get the ByteBuffer representing the FlatBuffer. </p>
+<p>Only call this after you've called finish(). The actual data starts at the ByteBuffer's current position, not necessarily at 0.</p>
+<dl class="section return"><dt>Returns</dt><dd>{flatbuffers.ByteBuffer} </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga62c5cf622a7bbcfd49f21bddd8b9bef7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype finish</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(root_table, file_identifier) {</div>
+<div class="line">  <span class="keywordflow">if</span> (file_identifier) {</div>
+<div class="line">    this.prep(this.minalign, flatbuffers.SIZEOF_INT +</div>
+<div class="line">      flatbuffers.FILE_IDENTIFIER_LENGTH);</div>
+<div class="line">    <span class="keywordflow">if</span> (file_identifier.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {</div>
+<div class="line">      <span class="keywordflow">throw</span> <span class="keyword">new</span> Error(<span class="stringliteral">&#39;FlatBuffers: file identifier must be length &#39;</span> +</div>
+<div class="line">        flatbuffers.FILE_IDENTIFIER_LENGTH);</div>
+<div class="line">    }</div>
+<div class="line">    <span class="keywordflow">for</span> (var i = flatbuffers.FILE_IDENTIFIER_LENGTH - 1; i &gt;= 0; i--) {</div>
+<div class="line">      this.writeInt8(file_identifier.charCodeAt(i));</div>
+<div class="line">    }</div>
+<div class="line">  }</div>
+<div class="line">  this.prep(this.minalign, flatbuffers.SIZEOF_INT);</div>
+<div class="line">  this.<a class="code" href="group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8">addOffset</a>(root_table);</div>
+<div class="line">  this.bb.setPosition(this.space);</div>
+<div class="line">}</div>
+<div class="ttc" id="group__flatbuffers__javascript__api_html_ga21ba7dd4c33dafd6abb89568e4d9c8b8"><div class="ttname"><a href="group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8">addOffset</a></div><div class="ttdeci">flatbuffers Builder prototype addOffset</div><div class="ttdoc">Adds on offset, relative to where it will be written. </div><div class="ttdef"><b>Definition:</b> flatbuffers.js:540</div></div>
+</div><!-- fragment -->
+<p>Finalize a buffer, poiting to the given <code>root_table</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{flatbuffers.Offset}</td><td>root_table </td></tr>
+    <tr><td class="paramname">{string=}</td><td>file_identifier </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0d1738111b83dffb2c2a7fc8bca19b33"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">flatbuffers <a class="el" href="group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8">Builder</a> prototype forceDefaults</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= <span class="keyword">function</span>(<a class="code" href="group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33">forceDefaults</a>) {</div>
+<div class="line">  this.force_defaults = <a class="code" href="group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33">forceDefaults</a>;</div>
+<div class="line">}</div>
+<div class="ttc" id="group__flatbuffers__javascript__api_html_ga0d1738111b83dffb2c2a7fc8bca19b33"><div class="ttname"><a href="group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33">forceDefaults</a></div><div class="ttdeci">flatbuffers Builder prototype forceDefaults</div><div class="ttdoc">In order to save space, fields that are set to their default value don&#39;t get serialized into the buff...</div><div class="ttdef"><b>Definition:</b> flatbuffers.js:211</div></div>
+</div><!-- fragment -->
+<p>In order to save space, fields that are set to their default value don't get serialized into the buffer. </p>
+<p>Forcing defaults provides a way to manually disable this optimization.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">{boolean}</td><td>forceDefaults true always serializes default values </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/group__flatbuffers__javascript__api.js b/group__flatbuffers__javascript__api.js
new file mode 100644
index 0000000000000000000000000000000000000000..32fe9025e517d6f2745a8765be11ba5ebfce50da
--- /dev/null
+++ b/group__flatbuffers__javascript__api.js
@@ -0,0 +1,16 @@
+var group__flatbuffers__javascript__api =
+[
+    [ "addFloat32", "group__flatbuffers__javascript__api.html#ga1c36e9d7e294c61d1d6ab0923ea91e8e", null ],
+    [ "addFloat64", "group__flatbuffers__javascript__api.html#ga53af3baf50f96de783c06a35934d63bf", null ],
+    [ "addInt16", "group__flatbuffers__javascript__api.html#ga8260b8431cb8b1c32b5997646cb102a9", null ],
+    [ "addInt32", "group__flatbuffers__javascript__api.html#gaba2edd0e1e53d1c2815bb1a6ee54abf5", null ],
+    [ "addInt64", "group__flatbuffers__javascript__api.html#ga17a48cc241b10348fd6751ed3a973e2d", null ],
+    [ "addInt8", "group__flatbuffers__javascript__api.html#ga7963cbb1ae0a8589b183f9b26fb25b45", null ],
+    [ "addOffset", "group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8", null ],
+    [ "asUint8Array", "group__flatbuffers__javascript__api.html#ga997af48d5c8f757fcb962168d67e33fb", null ],
+    [ "Builder", "group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8", null ],
+    [ "createString", "group__flatbuffers__javascript__api.html#gaa7a7bd67cb1c3190792d4b2b3e66376f", null ],
+    [ "dataBuffer", "group__flatbuffers__javascript__api.html#ga674814e0816f06c8a29ab364d19bed60", null ],
+    [ "finish", "group__flatbuffers__javascript__api.html#ga62c5cf622a7bbcfd49f21bddd8b9bef7", null ],
+    [ "forceDefaults", "group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33", null ]
+];
\ No newline at end of file
diff --git a/group__flatbuffers__php__api.html b/group__flatbuffers__php__api.html
new file mode 100644
index 0000000000000000000000000000000000000000..1ad7df7fb8aed0c84bfa969af4210622064ab597
--- /dev/null
+++ b/group__flatbuffers__php__api.html
@@ -0,0 +1,141 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: PHP API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('group__flatbuffers__php__api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">PHP API</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>FlatBuffers API for PHP.  
+<a href="#details">More...</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>FlatBuffers API for PHP. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html">Google\FlatBuffers\FlatbufferBuilder</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/group__flatbuffers__php__api.js b/group__flatbuffers__php__api.js
new file mode 100644
index 0000000000000000000000000000000000000000..038d9bbdb9dc983d7c4b4527ccfb055a00bd85b5
--- /dev/null
+++ b/group__flatbuffers__php__api.js
@@ -0,0 +1,24 @@
+var group__flatbuffers__php__api =
+[
+    [ "FlatbufferBuilder", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html", [
+      [ "__construct", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4", null ],
+      [ "addBool", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e", null ],
+      [ "addByte", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc", null ],
+      [ "addDouble", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86", null ],
+      [ "addFloat", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404", null ],
+      [ "addInt", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0", null ],
+      [ "addLong", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70", null ],
+      [ "addOffset", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934", null ],
+      [ "addSbyte", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6", null ],
+      [ "addShort", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5", null ],
+      [ "addUint", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c", null ],
+      [ "addUlong", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826", null ],
+      [ "addUshort", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42", null ],
+      [ "createString", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f", null ],
+      [ "dataBuffer", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f", null ],
+      [ "finish", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5", null ],
+      [ "forceDefaults", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f", null ],
+      [ "sizedByteArray", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4", null ],
+      [ "$bb", "class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b", null ]
+    ] ]
+];
\ No newline at end of file
diff --git a/group__flatbuffers__python__api.html b/group__flatbuffers__python__api.html
new file mode 100644
index 0000000000000000000000000000000000000000..6468ddefe83dff1bede641f2ce34b69c46645f85
--- /dev/null
+++ b/group__flatbuffers__python__api.html
@@ -0,0 +1,132 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Python API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('group__flatbuffers__python__api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Python API</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>FlatBuffers API for Python.  
+<a href="#details">More...</a></p>
+<p>FlatBuffers API for Python. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/index.html b/index.html
index f5d83531b86be43258009813064c2e1f1a22df61..37e80029b35983242db37fc57a9de784f67fdfd4 100644
--- a/index.html
+++ b/index.html
@@ -16,8 +16,14 @@
   $(document).ready(initResizable);
   $(window).load(resizeHeight);
 </script>
-<link href="style.css" rel="stylesheet" type="text/css" />
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
 <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
@@ -41,6 +47,38 @@
 </div>
 <!-- end header part -->
 <!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
 </div><!-- top -->
 <div id="side-nav" class="ui-resizable side-nav-resizable">
   <div id="nav-tree">
@@ -56,17 +94,33 @@
 $(document).ready(function(){initNavTree('index.html','');});
 </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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
 <div class="title">FlatBuffers Documentation</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><p>FlatBuffers is an efficient cross platform serialization library for C++, Java, C#, Go, Python and JavaScript (C, PHP &amp; Ruby in progress). It was originally created at Google for game development and other performance-critical applications.</p>
+<div class="textblock"><h1><a class="anchor" id="flatbuffers_overview"></a>
+Overview</h1>
+<p><a class="el" href="index.html#flatbuffers_overview">FlatBuffers</a> is an efficient cross platform serialization library for C++, C#, Go, Java, JavaScript, PHP, and Python (C and Ruby in progress). It was originally created at Google for game development and other performance-critical applications.</p>
 <p>It is available as Open Source on <a href="http://github.com/google/flatbuffers">GitHub</a> under the Apache license, v2 (see LICENSE.txt).</p>
 <h2>Why use FlatBuffers?</h2>
 <ul>
 <li><b>Access to serialized data without parsing/unpacking</b> - What sets FlatBuffers apart is that it represents hierarchical data in a flat binary buffer in such a way that it can still be accessed directly without parsing/unpacking, while also still supporting data structure evolution (forwards/backwards compatibility).</li>
-<li><b>Memory efficiency and speed</b> - The only memory needed to access your data is that of the buffer. It requires 0 additional allocations (in C++, other languages may vary). FlatBuffers is also very suitable for use with mmap (or streaming), requiring only part of the buffer to be in memory. Access is close to the speed of raw struct access with only one extra indirection (a kind of vtable) to allow for format evolution and optional fields. It is aimed at projects where spending time and space (many memory allocations) to be able to access or construct serialized data is undesirable, such as in games or any other performance sensitive applications. See the <a href="md__benchmarks.html">benchmarks</a> for details.</li>
+<li><b>Memory efficiency and speed</b> - The only memory needed to access your data is that of the buffer. It requires 0 additional allocations (in C++, other languages may vary). FlatBuffers is also very suitable for use with mmap (or streaming), requiring only part of the buffer to be in memory. Access is close to the speed of raw struct access with only one extra indirection (a kind of vtable) to allow for format evolution and optional fields. It is aimed at projects where spending time and space (many memory allocations) to be able to access or construct serialized data is undesirable, such as in games or any other performance sensitive applications. See the <a class="el" href="flatbuffers_benchmarks.html">benchmarks</a> for details.</li>
 <li><b>Flexible</b> - Optional fields means not only do you get great forwards and backwards compatibility (increasingly important for long-lived games: don't have to update all data with each new version!). It also means you have a lot of choice in what data you write and what data you don't, and how you design data structures.</li>
 <li><b>Tiny code footprint</b> - Small amounts of generated code, and just a single small header as the minimum dependency, which is very easy to integrate. Again, see the benchmark section for details.</li>
 <li><b>Strongly typed</b> - Errors happen at compile time rather than manually having to write repetitive and error prone run-time checks. Useful code can be generated for you.</li>
@@ -79,7 +133,7 @@ $(document).ready(function(){initNavTree('index.html','');});
 <p>Protocol Buffers is indeed relatively similar to FlatBuffers, with the primary difference being that FlatBuffers does not need a parsing/ unpacking step to a secondary representation before you can access data, often coupled with per-object memory allocation. The code is an order of magnitude bigger, too. Protocol Buffers has neither optional text import/export nor schema language features like unions.</p>
 <h3>But all the cool kids use JSON!</h3>
 <p>JSON is very readable (which is why we use it as our optional text format) and very convenient when used together with dynamically typed languages (such as JavaScript). When serializing data from statically typed languages, however, JSON not only has the obvious drawback of runtime inefficiency, but also forces you to write <em>more</em> code to access data (counterintuitively) due to its dynamic-typing serialization system. In this context, it is only a better choice for systems that have very little to no information ahead of time about what data needs to be stored.</p>
-<p>Read more about the "why" of FlatBuffers in the <a href="md__white_paper.html">white paper</a>.</p>
+<p>Read more about the "why" of FlatBuffers in the <a class="el" href="flatbuffers_white_paper.html">white paper</a>.</p>
 <h3>Who uses FlatBuffers?</h3>
 <ul>
 <li><a href="http://www.cocos2d-x.org/">Cocos2d-x</a>, the #1 open source mobile game engine, uses it to serialize all their <a href="http://www.cocos2d-x.org/reference/native-cpp/V3.5/d7/d2d/namespaceflatbuffers.html">game data</a>.</li>
@@ -97,17 +151,17 @@ $(document).ready(function(){initNavTree('index.html','');});
 </ul>
 <h2>In-depth documentation</h2>
 <ul>
-<li>How to <a href="md__building.html">build the compiler</a> and samples on various platforms.</li>
-<li>How to <a href="md__compiler.html">use the compiler</a>.</li>
-<li>How to <a href="md__schemas.html">write a schema</a>.</li>
-<li>How to <a href="md__cpp_usage.html">use the generated C++ code</a> in your own programs.</li>
-<li>How to <a href="md__java_usage.html">use the generated Java/C# code</a> in your own programs.</li>
-<li>How to <a href="md__go_usage.html">use the generated Go code</a> in your own programs.</li>
-<li><a href="md__support.html">Support matrix</a> for platforms/languages/features.</li>
-<li>Some <a href="md__benchmarks.html">benchmarks</a> showing the advantage of using FlatBuffers.</li>
-<li>A <a href="md__white_paper.html">white paper</a> explaining the "why" of FlatBuffers.</li>
-<li>A description of the <a href="md__internals.html">internals</a> of FlatBuffers.</li>
-<li>A formal <a href="md__grammar.html">grammar</a> of the schema language.</li>
+<li>How to <a class="el" href="flatbuffers_guide_building.html">build the compiler</a> and samples on various platforms.</li>
+<li>How to <a class="el" href="flatbuffers_guide_using_schema_compiler.html">use the compiler</a>.</li>
+<li>How to <a class="el" href="flatbuffers_guide_writing_schema.html">write a schema</a>.</li>
+<li>How to <a class="el" href="flatbuffers_guide_use_cpp.html">use the generated C++ code</a> in your own programs.</li>
+<li>How to <a class="el" href="flatbuffers_guide_use_java_c-sharp.html">use the generated Java/C# code</a> in your own programs.</li>
+<li>How to <a class="el" href="flatbuffers_guide_use_go.html">use the generated Go code</a> in your own programs.</li>
+<li><a class="el" href="flatbuffers_support.html">Support matrix</a> for platforms/languages/features.</li>
+<li>Some <a class="el" href="flatbuffers_benchmarks.html">benchmarks</a> showing the advantage of using FlatBuffers.</li>
+<li>A <a class="el" href="flatbuffers_white_paper.html">white paper</a> explaining the "why" of FlatBuffers.</li>
+<li>A description of the <a class="el" href="flatbuffers_internals.html">internals</a> of FlatBuffers.</li>
+<li>A formal <a class="el" href="flatbuffers_grammar.html">grammar</a> of the schema language.</li>
 </ul>
 <h2>Online resources</h2>
 <ul>
diff --git a/md__go_api.html b/md__go_api.html
new file mode 100644
index 0000000000000000000000000000000000000000..3d37cec4a56910319a9ff3d96718e89933e422dd
--- /dev/null
+++ b/md__go_api.html
@@ -0,0 +1,128 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Go API</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('md__go_api.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Go API </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"></div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/modules.html b/modules.html
new file mode 100644
index 0000000000000000000000000000000000000000..4804d563847c7a4fb3d677d268d3bdf4c4dc3dd9
--- /dev/null
+++ b/modules.html
@@ -0,0 +1,145 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: APIs</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="modules.html"><span>APIs</span></a></li>
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('modules.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">APIs</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all modules:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__flatbuffers__cpp__api.html" target="_self">C++ API</a></td><td class="desc">FlatBuffers API for C++ </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__flatbuffers__csharp__api.html" target="_self">C# API</a></td><td class="desc">FlatBuffers API for C# </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__flatbuffers__go__api.html" target="_self">Go API</a></td><td class="desc">FlatBuffers API for Go </td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__flatbuffers__java__api.html" target="_self">Java API</a></td><td class="desc">FlatBuffers API for Java </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__flatbuffers__javascript__api.html" target="_self">JavaScript API</a></td><td class="desc">FlatBuffers API for JavaScript </td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__flatbuffers__php__api.html" target="_self">PHP API</a></td><td class="desc">FlatBuffers API for PHP </td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__flatbuffers__python__api.html" target="_self">Python API</a></td><td class="desc">FlatBuffers API for Python </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/modules.js b/modules.js
new file mode 100644
index 0000000000000000000000000000000000000000..ac1515c32a83495a0d86678dd83a5ea9dd76ad4f
--- /dev/null
+++ b/modules.js
@@ -0,0 +1,10 @@
+var modules =
+[
+    [ "C++ API", "group__flatbuffers__cpp__api.html", "group__flatbuffers__cpp__api" ],
+    [ "C# API", "group__flatbuffers__csharp__api.html", "group__flatbuffers__csharp__api" ],
+    [ "Go API", "group__flatbuffers__go__api.html", null ],
+    [ "Java API", "group__flatbuffers__java__api.html", "group__flatbuffers__java__api" ],
+    [ "JavaScript API", "group__flatbuffers__javascript__api.html", "group__flatbuffers__javascript__api" ],
+    [ "PHP API", "group__flatbuffers__php__api.html", "group__flatbuffers__php__api" ],
+    [ "Python API", "group__flatbuffers__python__api.html", null ]
+];
\ No newline at end of file
diff --git a/namespace_flat_buffers.html b/namespace_flat_buffers.html
new file mode 100644
index 0000000000000000000000000000000000000000..06648f3b72a1a4072e36af64f3322e5427a41a1b
--- /dev/null
+++ b/namespace_flat_buffers.html
@@ -0,0 +1,137 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Package FlatBuffers</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('namespace_flat_buffers.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Package FlatBuffers<div class="ingroups"><a class="el" href="group__flatbuffers__csharp__api.html">C# API</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_flat_buffers_1_1_flat_buffer_builder.html">FlatBufferBuilder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Responsible for building up and accessing a FlatBuffer formatted byte array (via ByteBuffer).  <a href="class_flat_buffers_1_1_flat_buffer_builder.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/namespace_flat_buffers.js b/namespace_flat_buffers.js
new file mode 100644
index 0000000000000000000000000000000000000000..3a8b271520af2e880e0d7d78a80b7315762f0dc4
--- /dev/null
+++ b/namespace_flat_buffers.js
@@ -0,0 +1,4 @@
+var namespace_flat_buffers =
+[
+    [ "FlatBufferBuilder", "class_flat_buffers_1_1_flat_buffer_builder.html", "class_flat_buffers_1_1_flat_buffer_builder" ]
+];
\ No newline at end of file
diff --git a/navtree.js b/navtree.js
index 0bbc4dc2adade502d57a726756d8099b3930316d..8b84866c0d1358f874e9106e2899b044e29693d5 100644
--- a/navtree.js
+++ b/navtree.js
@@ -1,24 +1,44 @@
 var NAVTREE =
 [
   [ "FlatBuffers", "index.html", [
-    [ "Building", "md__building.html", null ],
-    [ "Using the schema compiler", "md__compiler.html", null ],
-    [ "Writing a schema", "md__schemas.html", null ],
-    [ "Use in C++", "md__cpp_usage.html", null ],
-    [ "Use in Go", "md__go_usage.html", null ],
-    [ "Use in Java/C-sharp", "md__java_usage.html", null ],
-    [ "Use in Python", "md__python_usage.html", null ],
-    [ "Platform / Language / Feature support", "md__support.html", null ],
-    [ "Benchmarks", "md__benchmarks.html", null ],
-    [ "FlatBuffers white paper", "md__white_paper.html", null ],
-    [ "FlatBuffer Internals", "md__internals.html", null ],
-    [ "Grammar of the schema language", "md__grammar.html", null ]
+    [ "Overview", "index.html#flatbuffers_overview", null ],
+    [ "Programmer's Guide", "usergroup0.html", [
+      [ "Building", "flatbuffers_guide_building.html", null ],
+      [ "Tutorial", "flatbuffers_guide_tutorial.html", null ],
+      [ "Using the schema compiler", "flatbuffers_guide_using_schema_compiler.html", null ],
+      [ "Writing a schema", "flatbuffers_guide_writing_schema.html", null ],
+      [ "Use in C++", "flatbuffers_guide_use_cpp.html", null ],
+      [ "Use in Go", "flatbuffers_guide_use_go.html", null ],
+      [ "Use in Java/C#", "flatbuffers_guide_use_java_c-sharp.html", null ],
+      [ "Use in JavaScript", "flatbuffers_guide_use_javascript.html", null ],
+      [ "Use in PHP", "flatbuffers_guide_use_php.html", null ],
+      [ "Use in Python", "flatbuffers_guide_use_python.html", null ]
+    ] ],
+    [ "Platform / Language / Feature support", "flatbuffers_support.html", null ],
+    [ "Benchmarks", "flatbuffers_benchmarks.html", null ],
+    [ "FlatBuffers white paper", "flatbuffers_white_paper.html", null ],
+    [ "FlatBuffers internals", "flatbuffers_internals.html", null ],
+    [ "Grammar of the schema langauge", "flatbuffers_grammar.html", null ],
+    [ "API Reference", "usergroup1.html", [
+      [ "APIs", "modules.html", "modules" ],
+      [ "Class List", null, [
+        [ "Class List", "annotated.html", "annotated" ],
+        [ "Class Index", "classes.html", null ],
+        [ "Class Members", "functions.html", [
+          [ "All", "functions.html", null ],
+          [ "Functions", "functions_func.html", null ],
+          [ "Variables", "functions_vars.html", null ],
+          [ "Properties", "functions_prop.html", null ]
+        ] ]
+      ] ]
+    ] ],
+    [ "Contributing", "contributing.html", null ]
   ] ]
 ];
 
 var NAVTREEINDEX =
 [
-"index.html"
+".html"
 ];
 
 var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/navtreeindex0.js b/navtreeindex0.js
index 912552ff2df56d6f253e4ed80a525f5782ac7eda..e0f93466915961ea394bc34e221f27691da95baa 100644
--- a/navtreeindex0.js
+++ b/navtreeindex0.js
@@ -1,17 +1,142 @@
 var NAVTREEINDEX0 =
 {
+".html":[7,1,0,0],
+".html":[7,1,0,3],
+".html":[7,1,0,3,0],
+".html":[7,1,0,0,0],
+".html":[7,1,0,0,0,0],
+".html":[7,1,0,1],
+"annotated.html":[7,1,0],
+"class_flat_buffers_1_1_flat_buffer_builder.html":[7,1,0,2,0],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707":[7,1,0,2,0,8],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893":[7,1,0,2,0,6],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b":[7,1,0,2,0,16],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070":[7,1,0,2,0,14],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf":[7,1,0,2,0,4],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f":[7,1,0,2,0,12],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e":[7,1,0,2,0,1],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211":[7,1,0,2,0,19],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6":[7,1,0,2,0,13],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9":[7,1,0,2,0,5],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41":[7,1,0,2,0,15],
+"class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb":[7,1,0,2,0,9],
+"class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515":[7,1,0,2,0,11],
+"class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2":[7,1,0,2,0,18],
+"class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254":[7,1,0,2,0,2],
+"class_flat_buffers_1_1_flat_buffer_builder.html#ac7a48fd125d3f65f1bc1bc67d74eae73":[7,1,0,2,0,17],
+"class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5":[7,1,0,2,0,7],
+"class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d":[7,1,0,2,0,0],
+"class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa":[7,1,0,2,0,10],
+"class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094":[7,1,0,2,0,3],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html":[7,0,5,0],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826":[7,0,5,0,11],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934":[7,0,5,0,7],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5":[7,0,5,0,9],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86":[7,0,5,0,3],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42":[7,0,5,0,12],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4":[7,0,5,0,0],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404":[7,0,5,0,4],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f":[7,0,5,0,16],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0":[7,0,5,0,5],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6":[7,0,5,0,8],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c":[7,0,5,0,10],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e":[7,0,5,0,1],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5":[7,0,5,0,15],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc":[7,0,5,0,2],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70":[7,0,5,0,6],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4":[7,0,5,0,17],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b":[7,0,5,0,18],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f":[7,0,5,0,13],
+"class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f":[7,0,5,0,14],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html":[7,0,3,0],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023":[7,0,3,0,17],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5":[7,0,3,0,8],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a189de474e0c39d663cc65fa21a63f071":[7,0,3,0,15],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db":[7,0,3,0,7],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06":[7,0,3,0,3],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d":[7,0,3,0,6],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a61ad1938219bcdbe99cc4b668f4c0f99":[7,0,3,0,2],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94":[7,0,3,0,10],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078":[7,0,3,0,18],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a8d676eb9973ecba574a220cdef725577":[7,0,3,0,12],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aa636cf5190524c43212b6d96239d7672":[7,0,3,0,19],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69":[7,0,3,0,16],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74":[7,0,3,0,11],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7":[7,0,3,0,13],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32":[7,0,3,0,5],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387":[7,0,3,0,1],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b":[7,0,3,0,4],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790":[7,0,3,0,9],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14":[7,0,3,0,14],
+"classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d":[7,0,3,0,0],
+"classes.html":[7,1,1],
+"classflatbuffers_1_1_flat_buffer_builder.html":[7,0,0,0],
+"classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912":[7,0,0,0,14],
+"classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a":[7,0,0,0,15],
+"classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6":[7,0,0,0,10],
+"classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44":[7,0,0,0,19],
+"classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50":[7,0,0,0,7],
+"classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3":[7,0,0,0,8],
+"classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9":[7,0,0,0,17],
+"classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1":[7,0,0,0,13],
+"classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f":[7,0,0,0,4],
+"classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8":[7,0,0,0,16],
+"classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5":[7,0,0,0,3],
+"classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506":[7,0,0,0,5],
+"classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63":[7,0,0,0,18],
+"classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c":[7,0,0,0,6],
+"classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135":[7,0,0,0,11],
+"classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256":[7,0,0,0,0],
+"classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412":[7,0,0,0,1],
+"classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe":[7,0,0,0,2],
+"classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207":[7,0,0,0,9],
+"classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19":[7,0,0,0,20],
+"classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7":[7,0,0,0,12],
+"contributing.html":[8],
+"flatbuffers_benchmarks.html":[3],
+"flatbuffers_grammar.html":[6],
+"flatbuffers_guide_building.html":[1,0],
+"flatbuffers_guide_tutorial.html":[1,1],
+"flatbuffers_guide_use_cpp.html":[1,4],
+"flatbuffers_guide_use_go.html":[1,5],
+"flatbuffers_guide_use_java_c-sharp.html":[1,6],
+"flatbuffers_guide_use_javascript.html":[1,7],
+"flatbuffers_guide_use_php.html":[1,8],
+"flatbuffers_guide_use_python.html":[1,9],
+"flatbuffers_guide_using_schema_compiler.html":[1,2],
+"flatbuffers_guide_writing_schema.html":[1,3],
+"flatbuffers_internals.html":[5],
+"flatbuffers_support.html":[2],
+"flatbuffers_white_paper.html":[4],
+"functions.html":[7,1,2,0],
+"functions_func.html":[7,1,2,1],
+"functions_prop.html":[7,1,2,3],
+"functions_vars.html":[7,1,2,2],
+"group__flatbuffers__cpp__api.html":[7,0,0],
+"group__flatbuffers__csharp__api.html":[7,0,1],
+"group__flatbuffers__go__api.html":[7,0,2],
+"group__flatbuffers__java__api.html":[7,0,3],
+"group__flatbuffers__javascript__api.html":[7,0,4],
+"group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33":[7,0,4,12],
+"group__flatbuffers__javascript__api.html#ga17a48cc241b10348fd6751ed3a973e2d":[7,0,4,4],
+"group__flatbuffers__javascript__api.html#ga1c36e9d7e294c61d1d6ab0923ea91e8e":[7,0,4,0],
+"group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8":[7,0,4,6],
+"group__flatbuffers__javascript__api.html#ga53af3baf50f96de783c06a35934d63bf":[7,0,4,1],
+"group__flatbuffers__javascript__api.html#ga62c5cf622a7bbcfd49f21bddd8b9bef7":[7,0,4,11],
+"group__flatbuffers__javascript__api.html#ga674814e0816f06c8a29ab364d19bed60":[7,0,4,10],
+"group__flatbuffers__javascript__api.html#ga7963cbb1ae0a8589b183f9b26fb25b45":[7,0,4,5],
+"group__flatbuffers__javascript__api.html#ga8260b8431cb8b1c32b5997646cb102a9":[7,0,4,2],
+"group__flatbuffers__javascript__api.html#ga997af48d5c8f757fcb962168d67e33fb":[7,0,4,7],
+"group__flatbuffers__javascript__api.html#gaa7a7bd67cb1c3190792d4b2b3e66376f":[7,0,4,9],
+"group__flatbuffers__javascript__api.html#gaba2edd0e1e53d1c2815bb1a6ee54abf5":[7,0,4,3],
+"group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8":[7,0,4,8],
+"group__flatbuffers__php__api.html":[7,0,5],
+"group__flatbuffers__python__api.html":[7,0,6],
 "index.html":[],
-"md__benchmarks.html":[8],
-"md__building.html":[0],
-"md__compiler.html":[1],
-"md__cpp_usage.html":[3],
-"md__go_usage.html":[4],
-"md__grammar.html":[11],
-"md__internals.html":[10],
-"md__java_usage.html":[5],
-"md__python_usage.html":[6],
-"md__schemas.html":[2],
-"md__support.html":[7],
-"md__white_paper.html":[9],
-"pages.html":[]
+"index.html#flatbuffers_overview":[0],
+"modules.html":[7,0],
+"namespace_flat_buffers.html":[7,1,0,2],
+"pages.html":[],
+"usergroup0.html":[1],
+"usergroup1.html":[7]
 };
diff --git a/search/all_0.html b/search/all_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..86e6c08c53a1e050eb995cc4504aaca11d37b79c
--- /dev/null
+++ b/search/all_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_0.js b/search/all_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..5e5aef12800369093c84c529071e3a00fe7c1a22
--- /dev/null
+++ b/search/all_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_24bb',['$bb',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b',1,'Google::FlatBuffers::FlatbufferBuilder']]]
+];
diff --git a/search/all_1.html b/search/all_1.html
new file mode 100644
index 0000000000000000000000000000000000000000..122fcbb863f3f9e27700f33d387f52205a18d63c
--- /dev/null
+++ b/search/all_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_1.js b/search/all_1.js
new file mode 100644
index 0000000000000000000000000000000000000000..370a24d6554acf14452196490c06fc14d8435535
--- /dev/null
+++ b/search/all_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_5f_5fconstruct',['__construct',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4',1,'Google::FlatBuffers::FlatbufferBuilder']]]
+];
diff --git a/search/all_10.html b/search/all_10.html
new file mode 100644
index 0000000000000000000000000000000000000000..ae54baf77f820c13e75eade7190da7a586e4f80b
--- /dev/null
+++ b/search/all_10.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_10.js b/search/all_10.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec5a4fe39f686152fe4c0186545f6d7e72e8fba2
--- /dev/null
+++ b/search/all_10.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['use_20in_20c_2b_2b',['Use in C++',['../flatbuffers_guide_use_cpp.html',1,'']]],
+  ['use_20in_20go',['Use in Go',['../flatbuffers_guide_use_go.html',1,'']]],
+  ['use_20in_20java_2fc_23',['Use in Java/C#',['../flatbuffers_guide_use_java_c-sharp.html',1,'']]],
+  ['use_20in_20javascript',['Use in JavaScript',['../flatbuffers_guide_use_javascript.html',1,'']]],
+  ['use_20in_20php',['Use in PHP',['../flatbuffers_guide_use_php.html',1,'']]],
+  ['use_20in_20python',['Use in Python',['../flatbuffers_guide_use_python.html',1,'']]],
+  ['using_20the_20schema_20compiler',['Using the schema compiler',['../flatbuffers_guide_using_schema_compiler.html',1,'']]]
+];
diff --git a/search/all_11.html b/search/all_11.html
new file mode 100644
index 0000000000000000000000000000000000000000..547f179784dec05f24975c266c49dc09b4a3eee4
--- /dev/null
+++ b/search/all_11.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_11.js b/search/all_11.js
new file mode 100644
index 0000000000000000000000000000000000000000..a86f934aa99ffd075974f9b75723190e22f2ae58
--- /dev/null
+++ b/search/all_11.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['writing_20a_20schema',['Writing a schema',['../flatbuffers_guide_writing_schema.html',1,'']]]
+];
diff --git a/search/all_2.html b/search/all_2.html
new file mode 100644
index 0000000000000000000000000000000000000000..6850d19b3f6913aad43cb5b203fb945e0f8af317
--- /dev/null
+++ b/search/all_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_2.js b/search/all_2.js
new file mode 100644
index 0000000000000000000000000000000000000000..2052032fc80c403fec988b62a40d089c86d195f7
--- /dev/null
+++ b/search/all_2.js
@@ -0,0 +1,23 @@
+var searchData=
+[
+  ['addbool',['addBool',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e',1,'Google\FlatBuffers\FlatbufferBuilder\addBool()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e',1,'FlatBuffers.FlatBufferBuilder.AddBool()']]],
+  ['addboolean',['addBoolean',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06',1,'com::google::flatbuffers::FlatBufferBuilder']]],
+  ['addbyte',['AddByte',['../class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254',1,'FlatBuffers.FlatBufferBuilder.AddByte()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b',1,'com.google.flatbuffers.FlatBufferBuilder.addByte()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc',1,'Google\FlatBuffers\FlatbufferBuilder\addByte()']]],
+  ['adddouble',['AddDouble',['../class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094',1,'FlatBuffers.FlatBufferBuilder.AddDouble()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32',1,'com.google.flatbuffers.FlatBufferBuilder.addDouble()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86',1,'Google\FlatBuffers\FlatbufferBuilder\addDouble()']]],
+  ['addfloat',['AddFloat',['../class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf',1,'FlatBuffers.FlatBufferBuilder.AddFloat()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d',1,'com.google.flatbuffers.FlatBufferBuilder.addFloat()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404',1,'Google\FlatBuffers\FlatbufferBuilder\addFloat()']]],
+  ['addfloat32',['addFloat32',['../group__flatbuffers__javascript__api.html#ga1c36e9d7e294c61d1d6ab0923ea91e8e',1,'flatbuffers.js']]],
+  ['addfloat64',['addFloat64',['../group__flatbuffers__javascript__api.html#ga53af3baf50f96de783c06a35934d63bf',1,'flatbuffers.js']]],
+  ['addint',['AddInt',['../class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9',1,'FlatBuffers.FlatBufferBuilder.AddInt()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db',1,'com.google.flatbuffers.FlatBufferBuilder.addInt()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0',1,'Google\FlatBuffers\FlatbufferBuilder\addInt()']]],
+  ['addint16',['addInt16',['../group__flatbuffers__javascript__api.html#ga8260b8431cb8b1c32b5997646cb102a9',1,'flatbuffers.js']]],
+  ['addint32',['addInt32',['../group__flatbuffers__javascript__api.html#gaba2edd0e1e53d1c2815bb1a6ee54abf5',1,'flatbuffers.js']]],
+  ['addint64',['addInt64',['../group__flatbuffers__javascript__api.html#ga17a48cc241b10348fd6751ed3a973e2d',1,'flatbuffers.js']]],
+  ['addint8',['addInt8',['../group__flatbuffers__javascript__api.html#ga7963cbb1ae0a8589b183f9b26fb25b45',1,'flatbuffers.js']]],
+  ['addlong',['AddLong',['../class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893',1,'FlatBuffers.FlatBufferBuilder.AddLong()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5',1,'com.google.flatbuffers.FlatBufferBuilder.addLong()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70',1,'Google\FlatBuffers\FlatbufferBuilder\addLong()']]],
+  ['addoffset',['addOffset',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790',1,'com.google.flatbuffers.FlatBufferBuilder.addOffset()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934',1,'Google\FlatBuffers\FlatbufferBuilder\addOffset()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5',1,'FlatBuffers.FlatBufferBuilder.AddOffset()'],['../group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8',1,'addOffset():&#160;flatbuffers.js']]],
+  ['addsbyte',['addSbyte',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6',1,'Google\FlatBuffers\FlatbufferBuilder\addSbyte()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707',1,'FlatBuffers.FlatBufferBuilder.AddSbyte()']]],
+  ['addshort',['AddShort',['../class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb',1,'FlatBuffers.FlatBufferBuilder.AddShort()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94',1,'com.google.flatbuffers.FlatBufferBuilder.addShort()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5',1,'Google\FlatBuffers\FlatbufferBuilder\addShort()']]],
+  ['adduint',['addUint',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c',1,'Google\FlatBuffers\FlatbufferBuilder\addUint()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa',1,'FlatBuffers.FlatBufferBuilder.AddUint()']]],
+  ['addulong',['addUlong',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826',1,'Google\FlatBuffers\FlatbufferBuilder\addUlong()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515',1,'FlatBuffers.FlatBufferBuilder.AddUlong()']]],
+  ['addushort',['addUshort',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42',1,'Google\FlatBuffers\FlatbufferBuilder\addUshort()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f',1,'FlatBuffers.FlatBufferBuilder.AddUshort()']]],
+  ['asuint8array',['asUint8Array',['../group__flatbuffers__javascript__api.html#ga997af48d5c8f757fcb962168d67e33fb',1,'flatbuffers.js']]]
+];
diff --git a/search/all_3.html b/search/all_3.html
new file mode 100644
index 0000000000000000000000000000000000000000..914288c2685220c8a112bd7fee5701a784add0c6
--- /dev/null
+++ b/search/all_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_3.js b/search/all_3.js
new file mode 100644
index 0000000000000000000000000000000000000000..7f78fc6975f3059093cd86840b0a007abddeda07
--- /dev/null
+++ b/search/all_3.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['builder',['Builder',['../group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8',1,'flatbuffers.js']]],
+  ['benchmarks',['Benchmarks',['../flatbuffers_benchmarks.html',1,'']]],
+  ['building',['Building',['../flatbuffers_guide_building.html',1,'']]]
+];
diff --git a/search/all_4.html b/search/all_4.html
new file mode 100644
index 0000000000000000000000000000000000000000..47becb88408a9eb1a3136bd88aaa061edef94582
--- /dev/null
+++ b/search/all_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_4.js b/search/all_4.js
new file mode 100644
index 0000000000000000000000000000000000000000..3b8ee28573c994435b9b5806c574e3c14da088fb
--- /dev/null
+++ b/search/all_4.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+  ['clear',['Clear',['../class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6',1,'FlatBuffers.FlatBufferBuilder.Clear()'],['../classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412',1,'flatbuffers::FlatBufferBuilder::Clear()']]],
+  ['contributing',['Contributing',['../contributing.html',1,'']]],
+  ['createstring',['createString',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74',1,'com.google.flatbuffers.FlatBufferBuilder.createString(String s)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a8d676eb9973ecba574a220cdef725577',1,'com.google.flatbuffers.FlatBufferBuilder.createString(ByteBuffer s)'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f',1,'Google\FlatBuffers\FlatbufferBuilder\createString()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070',1,'FlatBuffers.FlatBufferBuilder.CreateString()'],['../classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe',1,'flatbuffers::FlatBufferBuilder::CreateString(const char *str, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5',1,'flatbuffers::FlatBufferBuilder::CreateString(const char *str)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f',1,'flatbuffers::FlatBufferBuilder::CreateString(const std::string &amp;str)'],['../classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506',1,'flatbuffers::FlatBufferBuilder::CreateString(const String *str)'],['../group__flatbuffers__javascript__api.html#gaa7a7bd67cb1c3190792d4b2b3e66376f',1,'createString():&#160;flatbuffers.js']]],
+  ['createuninitializedvector',['CreateUninitializedVector',['../classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c',1,'flatbuffers::FlatBufferBuilder::CreateUninitializedVector(size_t len, size_t elemsize, uint8_t **buf)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50',1,'flatbuffers::FlatBufferBuilder::CreateUninitializedVector(size_t len, T **buf)']]],
+  ['createvector',['CreateVector',['../classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3',1,'flatbuffers::FlatBufferBuilder::CreateVector(const T *v, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207',1,'flatbuffers::FlatBufferBuilder::CreateVector(const std::vector&lt; T &gt; &amp;v)']]],
+  ['createvectorofsortedtables',['CreateVectorOfSortedTables',['../classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables(Offset&lt; T &gt; *v, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables(std::vector&lt; Offset&lt; T &gt;&gt; *v)']]],
+  ['createvectorofstructs',['CreateVectorOfStructs',['../classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfStructs(const T *v, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfStructs(const std::vector&lt; T &gt; &amp;v)']]],
+  ['c_2b_2b_20api',['C++ API',['../group__flatbuffers__cpp__api.html',1,'']]],
+  ['c_23_20api',['C# API',['../group__flatbuffers__csharp__api.html',1,'']]]
+];
diff --git a/search/all_5.html b/search/all_5.html
new file mode 100644
index 0000000000000000000000000000000000000000..b11c1d19dd50a532e621cf94b2e99a2facbe7ff3
--- /dev/null
+++ b/search/all_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_5.js b/search/all_5.js
new file mode 100644
index 0000000000000000000000000000000000000000..31a3eb55b79fb6795693f806e516878935ada3b1
--- /dev/null
+++ b/search/all_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['databuffer',['dataBuffer',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7',1,'com.google.flatbuffers.FlatBufferBuilder.dataBuffer()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f',1,'Google\FlatBuffers\FlatbufferBuilder\dataBuffer()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211',1,'FlatBuffers.FlatBufferBuilder.DataBuffer()'],['../group__flatbuffers__javascript__api.html#ga674814e0816f06c8a29ab364d19bed60',1,'dataBuffer():&#160;flatbuffers.js']]]
+];
diff --git a/search/all_6.html b/search/all_6.html
new file mode 100644
index 0000000000000000000000000000000000000000..a57d74f606b3282ebbd87b44e8d37ccff83fe297
--- /dev/null
+++ b/search/all_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_6.js b/search/all_6.js
new file mode 100644
index 0000000000000000000000000000000000000000..d6452ca405b9fb71a709cac7443255794a851d26
--- /dev/null
+++ b/search/all_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['endvector',['EndVector',['../class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41',1,'FlatBuffers::FlatBufferBuilder']]]
+];
diff --git a/search/all_7.html b/search/all_7.html
new file mode 100644
index 0000000000000000000000000000000000000000..ecca25181b37e1d0a05bb342799360ee3cf5520a
--- /dev/null
+++ b/search/all_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_7.js b/search/all_7.js
new file mode 100644
index 0000000000000000000000000000000000000000..d37a3be486acb8a8ea06154dd54e92ece7662e25
--- /dev/null
+++ b/search/all_7.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+  ['finish',['Finish',['../class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b',1,'FlatBuffers.FlatBufferBuilder.Finish(int rootTable)'],['../class_flat_buffers_1_1_flat_buffer_builder.html#ac7a48fd125d3f65f1bc1bc67d74eae73',1,'FlatBuffers.FlatBufferBuilder.Finish(int rootTable, string fileIdentifier)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912',1,'flatbuffers::FlatBufferBuilder::Finish()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14',1,'com.google.flatbuffers.FlatBufferBuilder.finish(int root_table)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a189de474e0c39d663cc65fa21a63f071',1,'com.google.flatbuffers.FlatBufferBuilder.finish(int root_table, String file_identifier)'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5',1,'Google\FlatBuffers\FlatbufferBuilder\finish()'],['../group__flatbuffers__javascript__api.html#ga62c5cf622a7bbcfd49f21bddd8b9bef7',1,'finish():&#160;flatbuffers.js']]],
+  ['flatbufferbuilder',['FlatbufferBuilder',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html',1,'Google::FlatBuffers']]],
+  ['flatbufferbuilder',['FlatBufferBuilder',['../classflatbuffers_1_1_flat_buffer_builder.html',1,'flatbuffers::FlatBufferBuilder'],['../class_flat_buffers_1_1_flat_buffer_builder.html',1,'FlatBuffers.FlatBufferBuilder']]],
+  ['flatbufferbuilder',['FlatBufferBuilder',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d',1,'com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder(int initial_size)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387',1,'com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a61ad1938219bcdbe99cc4b668f4c0f99',1,'com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder(ByteBuffer existing_bb)'],['../class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d',1,'FlatBuffers.FlatBufferBuilder.FlatBufferBuilder()'],['../classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256',1,'flatbuffers::FlatBufferBuilder::FlatBufferBuilder()']]],
+  ['flatbufferbuilder',['FlatBufferBuilder',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html',1,'com::google::flatbuffers']]],
+  ['flatbufferbuilder_2ecs',['FlatBufferBuilder.cs',['../_flat_buffer_builder_8cs.html',1,'']]],
+  ['flatbufferbuilder_2ejava',['FlatBufferBuilder.java',['../_flat_buffer_builder_8java.html',1,'']]],
+  ['flatbufferbuilder_2ephp',['FlatbufferBuilder.php',['../_flatbuffer_builder_8php.html',1,'']]],
+  ['flatbuffers',['FlatBuffers',['../namespace_flat_buffers.html',1,'']]],
+  ['flatbuffers_2eh',['flatbuffers.h',['../flatbuffers_8h.html',1,'']]],
+  ['flatbuffers_2ejs',['flatbuffers.js',['../flatbuffers_8js.html',1,'']]],
+  ['flatbuffer_20internals',['FlatBuffer Internals',['../flatbuffers_internals.html',1,'']]],
+  ['flatbuffers_20white_20paper',['FlatBuffers white paper',['../flatbuffers_white_paper.html',1,'']]],
+  ['forcedefaults',['ForceDefaults',['../classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a',1,'flatbuffers::FlatBufferBuilder::ForceDefaults()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69',1,'com.google.flatbuffers.FlatBufferBuilder.forceDefaults()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f',1,'Google\FlatBuffers\FlatbufferBuilder\forceDefaults()'],['../group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33',1,'forceDefaults():&#160;flatbuffers.js']]]
+];
diff --git a/search/all_8.html b/search/all_8.html
new file mode 100644
index 0000000000000000000000000000000000000000..f8f85600da41756dd0a49b979ac5379811ab59e0
--- /dev/null
+++ b/search/all_8.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_8.js b/search/all_8.js
new file mode 100644
index 0000000000000000000000000000000000000000..290e6c1225a62f3e9aa0b2f945a2c0720450012a
--- /dev/null
+++ b/search/all_8.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+  ['go_20api',['Go API',['../group__flatbuffers__go__api.html',1,'']]],
+  ['grammar_20of_20the_20schema_20language',['Grammar of the schema language',['../flatbuffers_grammar.html',1,'']]],
+  ['getbufferpointer',['GetBufferPointer',['../classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8',1,'flatbuffers::FlatBufferBuilder']]],
+  ['getcurrentbufferpointer',['GetCurrentBufferPointer',['../classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9',1,'flatbuffers::FlatBufferBuilder']]],
+  ['getsize',['GetSize',['../classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63',1,'flatbuffers::FlatBufferBuilder']]],
+  ['go_20api',['Go API',['../md__go_api.html',1,'']]]
+];
diff --git a/search/all_9.html b/search/all_9.html
new file mode 100644
index 0000000000000000000000000000000000000000..cb525abb66fa679ac5c581474dd3546267f8ef7b
--- /dev/null
+++ b/search/all_9.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_9.js b/search/all_9.js
new file mode 100644
index 0000000000000000000000000000000000000000..c2ce9df3c7678b7d294dd05a6f797a840b8c83c9
--- /dev/null
+++ b/search/all_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['init',['init',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023',1,'com::google::flatbuffers::FlatBufferBuilder']]]
+];
diff --git a/search/all_a.html b/search/all_a.html
new file mode 100644
index 0000000000000000000000000000000000000000..393a236f67b66fc6b42415de9e15f840a38619d9
--- /dev/null
+++ b/search/all_a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_a.js b/search/all_a.js
new file mode 100644
index 0000000000000000000000000000000000000000..8c8e50e2a0f6fd1bd93e7e474e18478bb9805895
--- /dev/null
+++ b/search/all_a.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['java_20api',['Java API',['../group__flatbuffers__java__api.html',1,'']]],
+  ['javascript_20api',['JavaScript API',['../group__flatbuffers__javascript__api.html',1,'']]]
+];
diff --git a/search/all_b.html b/search/all_b.html
new file mode 100644
index 0000000000000000000000000000000000000000..6d334640662530681d43474723d29cfcb1eb68f2
--- /dev/null
+++ b/search/all_b.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_b.js b/search/all_b.js
new file mode 100644
index 0000000000000000000000000000000000000000..7dcdf36b8546871c1eefa49f52858ca010cef1a5
--- /dev/null
+++ b/search/all_b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['kfileidentifierlength',['kFileIdentifierLength',['../classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19',1,'flatbuffers::FlatBufferBuilder']]]
+];
diff --git a/search/all_c.html b/search/all_c.html
new file mode 100644
index 0000000000000000000000000000000000000000..cbf7d0684a900b9818f9e270b347eda781e5e6c6
--- /dev/null
+++ b/search/all_c.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_c.js b/search/all_c.js
new file mode 100644
index 0000000000000000000000000000000000000000..03943ecec894d0fe73535cc58b796d8c12662a21
--- /dev/null
+++ b/search/all_c.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['php_20api',['PHP API',['../group__flatbuffers__php__api.html',1,'']]],
+  ['python_20api',['Python API',['../group__flatbuffers__python__api.html',1,'']]],
+  ['platform_20_2f_20language_20_2f_20feature_20support',['Platform / Language / Feature support',['../flatbuffers_support.html',1,'']]]
+];
diff --git a/search/all_d.html b/search/all_d.html
new file mode 100644
index 0000000000000000000000000000000000000000..67a6960983c276cc0516152007d83aedfdfdeb7f
--- /dev/null
+++ b/search/all_d.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_d.js b/search/all_d.js
new file mode 100644
index 0000000000000000000000000000000000000000..be0b943a63f2a85e77c5a499b97ee73efe3f0f49
--- /dev/null
+++ b/search/all_d.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['releasebufferpointer',['ReleaseBufferPointer',['../classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44',1,'flatbuffers::FlatBufferBuilder']]]
+];
diff --git a/search/all_e.html b/search/all_e.html
new file mode 100644
index 0000000000000000000000000000000000000000..92ab0e337063680fefbc59afaaef130e322a9458
--- /dev/null
+++ b/search/all_e.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_e.js b/search/all_e.js
new file mode 100644
index 0000000000000000000000000000000000000000..bc99f301a145220a241f7673c213daedd35a792a
--- /dev/null
+++ b/search/all_e.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['sizedbytearray',['sizedByteArray',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078',1,'com.google.flatbuffers.FlatBufferBuilder.sizedByteArray(int start, int length)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aa636cf5190524c43212b6d96239d7672',1,'com.google.flatbuffers.FlatBufferBuilder.sizedByteArray()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4',1,'Google\FlatBuffers\FlatbufferBuilder\sizedByteArray()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2',1,'FlatBuffers.FlatBufferBuilder.SizedByteArray()']]]
+];
diff --git a/search/all_f.html b/search/all_f.html
new file mode 100644
index 0000000000000000000000000000000000000000..6ff4c978191f6b135dc07686cf2797232e44c256
--- /dev/null
+++ b/search/all_f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/all_f.js b/search/all_f.js
new file mode 100644
index 0000000000000000000000000000000000000000..54de4eed2371bd8f085012b169a87d6c24df2833
--- /dev/null
+++ b/search/all_f.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['tutorial',['Tutorial',['../flatbuffers_guide_tutorial.html',1,'']]]
+];
diff --git a/search/classes_0.html b/search/classes_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..d2e0c9a5a8bc116f282fdf1965131e60d8e4bf12
--- /dev/null
+++ b/search/classes_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/classes_0.js b/search/classes_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..7f890a8e5d7a3348c852f5bc9af988081465bb30
--- /dev/null
+++ b/search/classes_0.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['flatbufferbuilder',['FlatbufferBuilder',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html',1,'Google::FlatBuffers']]],
+  ['flatbufferbuilder',['FlatBufferBuilder',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html',1,'com::google::flatbuffers']]],
+  ['flatbufferbuilder',['FlatBufferBuilder',['../classflatbuffers_1_1_flat_buffer_builder.html',1,'flatbuffers::FlatBufferBuilder'],['../class_flat_buffers_1_1_flat_buffer_builder.html',1,'FlatBuffers.FlatBufferBuilder']]]
+];
diff --git a/search/close.png b/search/close.png
new file mode 100644
index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9
Binary files /dev/null and b/search/close.png differ
diff --git a/search/files_0.html b/search/files_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..867c89d591ff05c1d35cd60501a8d20ce5e653d6
--- /dev/null
+++ b/search/files_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/files_0.js b/search/files_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..42664683fe77b5e939def3af15b87eff0d9edb4e
--- /dev/null
+++ b/search/files_0.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+  ['flatbufferbuilder_2ecs',['FlatBufferBuilder.cs',['../_flat_buffer_builder_8cs.html',1,'']]],
+  ['flatbufferbuilder_2ejava',['FlatBufferBuilder.java',['../_flat_buffer_builder_8java.html',1,'']]],
+  ['flatbufferbuilder_2ephp',['FlatbufferBuilder.php',['../_flatbuffer_builder_8php.html',1,'']]],
+  ['flatbuffers_2eh',['flatbuffers.h',['../flatbuffers_8h.html',1,'']]],
+  ['flatbuffers_2ejs',['flatbuffers.js',['../flatbuffers_8js.html',1,'']]]
+];
diff --git a/search/functions_0.html b/search/functions_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..a3f28dcdc15eef4a8d9478da483d25d53a721131
--- /dev/null
+++ b/search/functions_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_0.js b/search/functions_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..370a24d6554acf14452196490c06fc14d8435535
--- /dev/null
+++ b/search/functions_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_5f_5fconstruct',['__construct',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5aa5323732b1efe0da24fa235a40f5d4',1,'Google::FlatBuffers::FlatbufferBuilder']]]
+];
diff --git a/search/functions_1.html b/search/functions_1.html
new file mode 100644
index 0000000000000000000000000000000000000000..abb1f12a40accfc7eeef6e2d082467899449a173
--- /dev/null
+++ b/search/functions_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_1.js b/search/functions_1.js
new file mode 100644
index 0000000000000000000000000000000000000000..038aa8d3419178410f330fad75a5ac5b828412f9
--- /dev/null
+++ b/search/functions_1.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+  ['addbool',['addBool',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a723a1053d3a17d5433c37bdbd015844e',1,'Google\FlatBuffers\FlatbufferBuilder\addBool()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a6b66d785555d19cd0f141978eff78e2e',1,'FlatBuffers.FlatBufferBuilder.AddBool()']]],
+  ['addboolean',['addBoolean',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a53e6356cfef3d6be298efb9a0d67be06',1,'com::google::flatbuffers::FlatBufferBuilder']]],
+  ['addbyte',['AddByte',['../class_flat_buffers_1_1_flat_buffer_builder.html#ac11b10888152d4f687e8ce4d60022254',1,'FlatBuffers.FlatBufferBuilder.AddByte()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae019d7ee089c95a37421365d5fb9533b',1,'com.google.flatbuffers.FlatBufferBuilder.addByte()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a7b78098530190cb90d315419fb1d21fc',1,'Google\FlatBuffers\FlatbufferBuilder\addByte()']]],
+  ['adddouble',['AddDouble',['../class_flat_buffers_1_1_flat_buffer_builder.html#aef6feaf282148043e6a1c9c1ba9e2094',1,'FlatBuffers.FlatBufferBuilder.AddDouble()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac36c1fc72851b17129fc763da00cff32',1,'com.google.flatbuffers.FlatBufferBuilder.addDouble()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a23a5478774e8909117d31b62dde51e86',1,'Google\FlatBuffers\FlatbufferBuilder\addDouble()']]],
+  ['addfloat',['AddFloat',['../class_flat_buffers_1_1_flat_buffer_builder.html#a41a1e6f7e7b9098a9d8c1af7157ef2bf',1,'FlatBuffers.FlatBufferBuilder.AddFloat()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a55c20e99ba68be516dfbddfddb9efd4d',1,'com.google.flatbuffers.FlatBufferBuilder.addFloat()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5ce6215b65e222b8ee22d3eb4436e404',1,'Google\FlatBuffers\FlatbufferBuilder\addFloat()']]],
+  ['addint',['AddInt',['../class_flat_buffers_1_1_flat_buffer_builder.html#a7970bfc069caeee5dfd994e6c1106ab9',1,'FlatBuffers.FlatBufferBuilder.AddInt()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a1c0ae381bf6adb84b18e613aadf8d4db',1,'com.google.flatbuffers.FlatBufferBuilder.addInt()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a63c9d66329dff15855d11c89134599e0',1,'Google\FlatBuffers\FlatbufferBuilder\addInt()']]],
+  ['addlong',['AddLong',['../class_flat_buffers_1_1_flat_buffer_builder.html#a0d182e151b4f57d47069885cc1d05893',1,'FlatBuffers.FlatBufferBuilder.AddLong()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0e1215f334989ecc59b49a3239aed5b5',1,'com.google.flatbuffers.FlatBufferBuilder.addLong()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a8875bff7ef67af16938cabe719ceac70',1,'Google\FlatBuffers\FlatbufferBuilder\addLong()']]],
+  ['addoffset',['addOffset',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ae817751382089b603753452cc1e56790',1,'com.google.flatbuffers.FlatBufferBuilder.addOffset()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a127fe515651f4b4347ea8e01b3951934',1,'Google\FlatBuffers\FlatbufferBuilder\addOffset()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#ae1d6d927d400c330cae48951eae546e5',1,'FlatBuffers.FlatBufferBuilder.AddOffset()']]],
+  ['addsbyte',['addSbyte',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6add2b19644657fbe0925cb0238618c6',1,'Google\FlatBuffers\FlatbufferBuilder\addSbyte()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a0b2addc87bde29213424a187b7b08707',1,'FlatBuffers.FlatBufferBuilder.AddSbyte()']]],
+  ['addshort',['AddShort',['../class_flat_buffers_1_1_flat_buffer_builder.html#a93b38c262a248e625ea3719dddf903eb',1,'FlatBuffers.FlatBufferBuilder.AddShort()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a67a9f5dcd251735d6b96e1ad46de9d94',1,'com.google.flatbuffers.FlatBufferBuilder.addShort()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a1e11aa1f080749100de6e153e88f9dd5',1,'Google\FlatBuffers\FlatbufferBuilder\addShort()']]],
+  ['adduint',['addUint',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a6f4a37444fca01dcbd0922d18cf2be5c',1,'Google\FlatBuffers\FlatbufferBuilder\addUint()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#aef3581dee532ab763b99947ca43ddcfa',1,'FlatBuffers.FlatBufferBuilder.AddUint()']]],
+  ['addulong',['addUlong',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a01be3a805c221796997b023b64e90826',1,'Google\FlatBuffers\FlatbufferBuilder\addUlong()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#aa9cc4371456b85d6393958ab56cbc515',1,'FlatBuffers.FlatBufferBuilder.AddUlong()']]],
+  ['addushort',['addUshort',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a570a0024a8a54e2f73374c94b8fa6c42',1,'Google\FlatBuffers\FlatbufferBuilder\addUshort()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a52c19b3daa97b0272da0dd7121b2ff5f',1,'FlatBuffers.FlatBufferBuilder.AddUshort()']]]
+];
diff --git a/search/functions_2.html b/search/functions_2.html
new file mode 100644
index 0000000000000000000000000000000000000000..6cc194ad063c631c41e83e29064fbec54bc03e46
--- /dev/null
+++ b/search/functions_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_2.js b/search/functions_2.js
new file mode 100644
index 0000000000000000000000000000000000000000..4b41c2246391dc6a345a9b471d542fe4c5da6eb9
--- /dev/null
+++ b/search/functions_2.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+  ['clear',['Clear',['../class_flat_buffers_1_1_flat_buffer_builder.html#a74ed0e43043c6e486dbe40b0d2ff63d6',1,'FlatBuffers.FlatBufferBuilder.Clear()'],['../classflatbuffers_1_1_flat_buffer_builder.html#ae94b94ba71ea0aeb2d9a98c43b713412',1,'flatbuffers::FlatBufferBuilder::Clear()']]],
+  ['createstring',['createString',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab0cd613dda628a2723925eda5f4d5e74',1,'com.google.flatbuffers.FlatBufferBuilder.createString(String s)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a8d676eb9973ecba574a220cdef725577',1,'com.google.flatbuffers.FlatBufferBuilder.createString(ByteBuffer s)'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ac54a8acfac1dda020b610da53b2d9a0f',1,'Google\FlatBuffers\FlatbufferBuilder\createString()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#a3b6e42519f278e4a060895633d048070',1,'FlatBuffers.FlatBufferBuilder.CreateString()'],['../classflatbuffers_1_1_flat_buffer_builder.html#aec6f9df2a0366b540b24822414d92cbe',1,'flatbuffers::FlatBufferBuilder::CreateString(const char *str, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#aad93d113ac24e86ed04b5236b3f4c0c5',1,'flatbuffers::FlatBufferBuilder::CreateString(const char *str)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a8c3af55e64f5cda9aefa38ac5287ef9f',1,'flatbuffers::FlatBufferBuilder::CreateString(const std::string &amp;str)'],['../classflatbuffers_1_1_flat_buffer_builder.html#ac0b6a1c5d949f20ad84367fc0f9e1506',1,'flatbuffers::FlatBufferBuilder::CreateString(const String *str)']]],
+  ['createuninitializedvector',['CreateUninitializedVector',['../classflatbuffers_1_1_flat_buffer_builder.html#ac2b96292fa0fb1534fe7fd218a094d0c',1,'flatbuffers::FlatBufferBuilder::CreateUninitializedVector(size_t len, size_t elemsize, uint8_t **buf)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a2305b63d367845972b51669dd995cc50',1,'flatbuffers::FlatBufferBuilder::CreateUninitializedVector(size_t len, T **buf)']]],
+  ['createvector',['CreateVector',['../classflatbuffers_1_1_flat_buffer_builder.html#a2cca5c89246a53e80e6ad9487f4c36f3',1,'flatbuffers::FlatBufferBuilder::CreateVector(const T *v, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#af715dd24dd37cb0151dc7a980ad0f207',1,'flatbuffers::FlatBufferBuilder::CreateVector(const std::vector&lt; T &gt; &amp;v)']]],
+  ['createvectorofsortedtables',['CreateVectorOfSortedTables',['../classflatbuffers_1_1_flat_buffer_builder.html#a2130ef232ff405eebe2e7f184ecd06e6',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables(Offset&lt; T &gt; *v, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#ac64d11c219559ea51567eab556e13135',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables(std::vector&lt; Offset&lt; T &gt;&gt; *v)']]],
+  ['createvectorofstructs',['CreateVectorOfStructs',['../classflatbuffers_1_1_flat_buffer_builder.html#afede51fd9c32d146cbb1832f57c5e1b7',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfStructs(const T *v, size_t len)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a8704709a2e25ad04679212ee4126b1a1',1,'flatbuffers::FlatBufferBuilder::CreateVectorOfStructs(const std::vector&lt; T &gt; &amp;v)']]]
+];
diff --git a/search/functions_3.html b/search/functions_3.html
new file mode 100644
index 0000000000000000000000000000000000000000..7a9659077d744200773bbf5d70e127ebd93fd083
--- /dev/null
+++ b/search/functions_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_3.js b/search/functions_3.js
new file mode 100644
index 0000000000000000000000000000000000000000..02f2cf153c3c410a33052089f04ac555fdd3afbf
--- /dev/null
+++ b/search/functions_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['databuffer',['dataBuffer',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#abf0fd34f0d93a9d89f595fddf752feb7',1,'com.google.flatbuffers.FlatBufferBuilder.dataBuffer()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#ae7e97c2d21da04ef483e6940d442938f',1,'Google\FlatBuffers\FlatbufferBuilder\dataBuffer()']]]
+];
diff --git a/search/functions_4.html b/search/functions_4.html
new file mode 100644
index 0000000000000000000000000000000000000000..7c0a2955d632c359685b439e2fedba466adeda0d
--- /dev/null
+++ b/search/functions_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_4.js b/search/functions_4.js
new file mode 100644
index 0000000000000000000000000000000000000000..d6452ca405b9fb71a709cac7443255794a851d26
--- /dev/null
+++ b/search/functions_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['endvector',['EndVector',['../class_flat_buffers_1_1_flat_buffer_builder.html#a7cacff748cbf996b52de2e31e731af41',1,'FlatBuffers::FlatBufferBuilder']]]
+];
diff --git a/search/functions_5.html b/search/functions_5.html
new file mode 100644
index 0000000000000000000000000000000000000000..6a71f6c0c45ff40a646718eda9a5cff305cf004d
--- /dev/null
+++ b/search/functions_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_5.js b/search/functions_5.js
new file mode 100644
index 0000000000000000000000000000000000000000..de31c30fa94857d12bb965f4197b89fac7143b2d
--- /dev/null
+++ b/search/functions_5.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['finish',['Finish',['../class_flat_buffers_1_1_flat_buffer_builder.html#a1afc6853539aaff7ac6937ed03ff5c7b',1,'FlatBuffers.FlatBufferBuilder.Finish(int rootTable)'],['../class_flat_buffers_1_1_flat_buffer_builder.html#ac7a48fd125d3f65f1bc1bc67d74eae73',1,'FlatBuffers.FlatBufferBuilder.Finish(int rootTable, string fileIdentifier)'],['../classflatbuffers_1_1_flat_buffer_builder.html#a0c9e507b373d598b51052fab4fa34912',1,'flatbuffers::FlatBufferBuilder::Finish()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aee9ed3214a7b35075773c506e3d95a14',1,'com.google.flatbuffers.FlatBufferBuilder.finish(int root_table)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a189de474e0c39d663cc65fa21a63f071',1,'com.google.flatbuffers.FlatBufferBuilder.finish(int root_table, String file_identifier)'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a799f0d1cf0fff359d6d04768108cb2a5',1,'Google\FlatBuffers\FlatbufferBuilder\finish()']]],
+  ['flatbufferbuilder',['FlatBufferBuilder',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#af49427a6a8a6ec24f3c9cf812f30812d',1,'com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder(int initial_size)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ac8a8a558ce1d2531447a765636db2387',1,'com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a61ad1938219bcdbe99cc4b668f4c0f99',1,'com.google.flatbuffers.FlatBufferBuilder.FlatBufferBuilder(ByteBuffer existing_bb)'],['../class_flat_buffers_1_1_flat_buffer_builder.html#ae24f93e3f9672846dd241d585d62c63d',1,'FlatBuffers.FlatBufferBuilder.FlatBufferBuilder()'],['../classflatbuffers_1_1_flat_buffer_builder.html#ac72b54a75e0c329e0ce0b8fab758e256',1,'flatbuffers::FlatBufferBuilder::FlatBufferBuilder()']]],
+  ['forcedefaults',['ForceDefaults',['../classflatbuffers_1_1_flat_buffer_builder.html#a16a8fd46b34ad7727406c37b65b6b27a',1,'flatbuffers::FlatBufferBuilder::ForceDefaults()'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aaadff3772bfdff756b4f269afae5ac69',1,'com.google.flatbuffers.FlatBufferBuilder.forceDefaults()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a5d75bca1a17d58bb6e383a73761ba45f',1,'Google\FlatBuffers\FlatbufferBuilder\forceDefaults()']]]
+];
diff --git a/search/functions_6.html b/search/functions_6.html
new file mode 100644
index 0000000000000000000000000000000000000000..0c3aa1cfac8fc40f9fd6bc55ec2201fdee218a2f
--- /dev/null
+++ b/search/functions_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_6.js b/search/functions_6.js
new file mode 100644
index 0000000000000000000000000000000000000000..bc453cfeb896a84953eabd0ec3a76f7e5d279717
--- /dev/null
+++ b/search/functions_6.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['getbufferpointer',['GetBufferPointer',['../classflatbuffers_1_1_flat_buffer_builder.html#a8dc35f792179df4ca850492c1796d8b8',1,'flatbuffers::FlatBufferBuilder']]],
+  ['getcurrentbufferpointer',['GetCurrentBufferPointer',['../classflatbuffers_1_1_flat_buffer_builder.html#a3f4252e9bc005ba6c700469544fdccc9',1,'flatbuffers::FlatBufferBuilder']]],
+  ['getsize',['GetSize',['../classflatbuffers_1_1_flat_buffer_builder.html#ac1bfd609f7f736e9a37cedae77448b63',1,'flatbuffers::FlatBufferBuilder']]]
+];
diff --git a/search/functions_7.html b/search/functions_7.html
new file mode 100644
index 0000000000000000000000000000000000000000..115c503bece34eadca0461afc44e65958d155927
--- /dev/null
+++ b/search/functions_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_7.js b/search/functions_7.js
new file mode 100644
index 0000000000000000000000000000000000000000..c2ce9df3c7678b7d294dd05a6f797a840b8c83c9
--- /dev/null
+++ b/search/functions_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['init',['init',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a0757a4347e9b932f9c0607f79531b023',1,'com::google::flatbuffers::FlatBufferBuilder']]]
+];
diff --git a/search/functions_8.html b/search/functions_8.html
new file mode 100644
index 0000000000000000000000000000000000000000..491e522ebef4345d22983587de385fd9152a8eae
--- /dev/null
+++ b/search/functions_8.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_8.js b/search/functions_8.js
new file mode 100644
index 0000000000000000000000000000000000000000..be0b943a63f2a85e77c5a499b97ee73efe3f0f49
--- /dev/null
+++ b/search/functions_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['releasebufferpointer',['ReleaseBufferPointer',['../classflatbuffers_1_1_flat_buffer_builder.html#a21c7f933d7ff1212f2090763ef9f0c44',1,'flatbuffers::FlatBufferBuilder']]]
+];
diff --git a/search/functions_9.html b/search/functions_9.html
new file mode 100644
index 0000000000000000000000000000000000000000..401869ada0be254d445f20f2c6ce0305f23f8e6f
--- /dev/null
+++ b/search/functions_9.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/functions_9.js b/search/functions_9.js
new file mode 100644
index 0000000000000000000000000000000000000000..bc99f301a145220a241f7673c213daedd35a792a
--- /dev/null
+++ b/search/functions_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['sizedbytearray',['sizedByteArray',['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#a81a5c2d7ab36e913cc16d9499aabe078',1,'com.google.flatbuffers.FlatBufferBuilder.sizedByteArray(int start, int length)'],['../classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#aa636cf5190524c43212b6d96239d7672',1,'com.google.flatbuffers.FlatBufferBuilder.sizedByteArray()'],['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#a967e7dc8f051d4e73b3155e3b281d7b4',1,'Google\FlatBuffers\FlatbufferBuilder\sizedByteArray()'],['../class_flat_buffers_1_1_flat_buffer_builder.html#abfd2f4e19cf51f62290a0272683f23b2',1,'FlatBuffers.FlatBufferBuilder.SizedByteArray()']]]
+];
diff --git a/search/groups_0.html b/search/groups_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..ad8fbe926bcccb709a967414a84940a32a0eb1e0
--- /dev/null
+++ b/search/groups_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/groups_0.js b/search/groups_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..9bada4cbceaf3696f473b8365ca08387ef99a8ff
--- /dev/null
+++ b/search/groups_0.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['c_2b_2b_20api',['C++ API',['../group__flatbuffers__cpp__api.html',1,'']]],
+  ['c_23_20api',['C# API',['../group__flatbuffers__csharp__api.html',1,'']]]
+];
diff --git a/search/groups_1.html b/search/groups_1.html
new file mode 100644
index 0000000000000000000000000000000000000000..4e2bb1767af4861b842ab85fa308304b6a926c65
--- /dev/null
+++ b/search/groups_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/groups_1.js b/search/groups_1.js
new file mode 100644
index 0000000000000000000000000000000000000000..78a81d124ca7e854a0b6c5f6e0ed25b036ea5f9c
--- /dev/null
+++ b/search/groups_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['go_20api',['Go API',['../group__flatbuffers__go__api.html',1,'']]]
+];
diff --git a/search/groups_2.html b/search/groups_2.html
new file mode 100644
index 0000000000000000000000000000000000000000..ad86db77b27f43251862beea35d1211b8b365d97
--- /dev/null
+++ b/search/groups_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/groups_2.js b/search/groups_2.js
new file mode 100644
index 0000000000000000000000000000000000000000..8c8e50e2a0f6fd1bd93e7e474e18478bb9805895
--- /dev/null
+++ b/search/groups_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['java_20api',['Java API',['../group__flatbuffers__java__api.html',1,'']]],
+  ['javascript_20api',['JavaScript API',['../group__flatbuffers__javascript__api.html',1,'']]]
+];
diff --git a/search/groups_3.html b/search/groups_3.html
new file mode 100644
index 0000000000000000000000000000000000000000..aad566d3220c2b330f454327cd43ec2f1bb08313
--- /dev/null
+++ b/search/groups_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="groups_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/groups_3.js b/search/groups_3.js
new file mode 100644
index 0000000000000000000000000000000000000000..aae0c72b9ce446b206afde17c2b69981a774a66b
--- /dev/null
+++ b/search/groups_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['php_20api',['PHP API',['../group__flatbuffers__php__api.html',1,'']]],
+  ['python_20api',['Python API',['../group__flatbuffers__python__api.html',1,'']]]
+];
diff --git a/search/mag_sel.png b/search/mag_sel.png
new file mode 100644
index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17
Binary files /dev/null and b/search/mag_sel.png differ
diff --git a/search/namespaces_0.html b/search/namespaces_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..2336e75af1e593a9bef4e8b21d9410e1cb76f17b
--- /dev/null
+++ b/search/namespaces_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/namespaces_0.js b/search/namespaces_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..796a7633e3f867fceda806f8d16e6b918be72ee3
--- /dev/null
+++ b/search/namespaces_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['flatbuffers',['FlatBuffers',['../namespace_flat_buffers.html',1,'']]]
+];
diff --git a/search/nomatches.html b/search/nomatches.html
new file mode 100644
index 0000000000000000000000000000000000000000..b1ded27e9ad6af3a2ac11e6b21ce159dcaf87e0c
--- /dev/null
+++ b/search/nomatches.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/search/pages_0.html b/search/pages_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..8ce129938c14dd48b3611fd397a3df182d5822ef
--- /dev/null
+++ b/search/pages_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_0.js b/search/pages_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..2dcef58da5645b9562e51efa3d384346b7d1952e
--- /dev/null
+++ b/search/pages_0.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['benchmarks',['Benchmarks',['../flatbuffers_benchmarks.html',1,'']]],
+  ['building',['Building',['../flatbuffers_guide_building.html',1,'']]]
+];
diff --git a/search/pages_1.html b/search/pages_1.html
new file mode 100644
index 0000000000000000000000000000000000000000..225a8eca1fd7ba6e715403af3267e1f6f2b660f4
--- /dev/null
+++ b/search/pages_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_1.js b/search/pages_1.js
new file mode 100644
index 0000000000000000000000000000000000000000..f545da165bd8bb70ecd831d8f96b2fdbf4d91e45
--- /dev/null
+++ b/search/pages_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['contributing',['Contributing',['../contributing.html',1,'']]]
+];
diff --git a/search/pages_2.html b/search/pages_2.html
new file mode 100644
index 0000000000000000000000000000000000000000..65a3bb2d10d487d9a588719c83c132154bb8c1a3
--- /dev/null
+++ b/search/pages_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_2.js b/search/pages_2.js
new file mode 100644
index 0000000000000000000000000000000000000000..79a380e94063776116070a3c89787e0b9c0be572
--- /dev/null
+++ b/search/pages_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['flatbuffer_20internals',['FlatBuffer Internals',['../flatbuffers_internals.html',1,'']]],
+  ['flatbuffers_20white_20paper',['FlatBuffers white paper',['../flatbuffers_white_paper.html',1,'']]]
+];
diff --git a/search/pages_3.html b/search/pages_3.html
new file mode 100644
index 0000000000000000000000000000000000000000..fd88a3d04ac1e5eca88c7539fbfead3cdf7df25a
--- /dev/null
+++ b/search/pages_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_3.js b/search/pages_3.js
new file mode 100644
index 0000000000000000000000000000000000000000..4f928df8e0e1633416eeaee3ef78121aeae5f425
--- /dev/null
+++ b/search/pages_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['grammar_20of_20the_20schema_20language',['Grammar of the schema language',['../flatbuffers_grammar.html',1,'']]],
+  ['go_20api',['Go API',['../md__go_api.html',1,'']]]
+];
diff --git a/search/pages_4.html b/search/pages_4.html
new file mode 100644
index 0000000000000000000000000000000000000000..fa6ec3ce94b78d983e68c3476e3912e1224b968a
--- /dev/null
+++ b/search/pages_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_4.js b/search/pages_4.js
new file mode 100644
index 0000000000000000000000000000000000000000..a5127c31b1d0dcff5b0ea2d135f12cb4516edd77
--- /dev/null
+++ b/search/pages_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['platform_20_2f_20language_20_2f_20feature_20support',['Platform / Language / Feature support',['../flatbuffers_support.html',1,'']]]
+];
diff --git a/search/pages_5.html b/search/pages_5.html
new file mode 100644
index 0000000000000000000000000000000000000000..f2249ac5a150d043a641c761f7a771406c333afe
--- /dev/null
+++ b/search/pages_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_5.js b/search/pages_5.js
new file mode 100644
index 0000000000000000000000000000000000000000..54de4eed2371bd8f085012b169a87d6c24df2833
--- /dev/null
+++ b/search/pages_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['tutorial',['Tutorial',['../flatbuffers_guide_tutorial.html',1,'']]]
+];
diff --git a/search/pages_6.html b/search/pages_6.html
new file mode 100644
index 0000000000000000000000000000000000000000..d9a199e378423cc2e21f827587fa051c89471369
--- /dev/null
+++ b/search/pages_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_6.js b/search/pages_6.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec5a4fe39f686152fe4c0186545f6d7e72e8fba2
--- /dev/null
+++ b/search/pages_6.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+  ['use_20in_20c_2b_2b',['Use in C++',['../flatbuffers_guide_use_cpp.html',1,'']]],
+  ['use_20in_20go',['Use in Go',['../flatbuffers_guide_use_go.html',1,'']]],
+  ['use_20in_20java_2fc_23',['Use in Java/C#',['../flatbuffers_guide_use_java_c-sharp.html',1,'']]],
+  ['use_20in_20javascript',['Use in JavaScript',['../flatbuffers_guide_use_javascript.html',1,'']]],
+  ['use_20in_20php',['Use in PHP',['../flatbuffers_guide_use_php.html',1,'']]],
+  ['use_20in_20python',['Use in Python',['../flatbuffers_guide_use_python.html',1,'']]],
+  ['using_20the_20schema_20compiler',['Using the schema compiler',['../flatbuffers_guide_using_schema_compiler.html',1,'']]]
+];
diff --git a/search/pages_7.html b/search/pages_7.html
new file mode 100644
index 0000000000000000000000000000000000000000..1c9154deb0c3f2365de3ff76399359b57d86b0e5
--- /dev/null
+++ b/search/pages_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/pages_7.js b/search/pages_7.js
new file mode 100644
index 0000000000000000000000000000000000000000..a86f934aa99ffd075974f9b75723190e22f2ae58
--- /dev/null
+++ b/search/pages_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['writing_20a_20schema',['Writing a schema',['../flatbuffers_guide_writing_schema.html',1,'']]]
+];
diff --git a/search/properties_0.html b/search/properties_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..140f2f311ef421b5264463b76d85fbf583d074d6
--- /dev/null
+++ b/search/properties_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="properties_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/properties_0.js b/search/properties_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..a4a3680fadcd565a324a91d13adefdb47b572b9c
--- /dev/null
+++ b/search/properties_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['databuffer',['DataBuffer',['../class_flat_buffers_1_1_flat_buffer_builder.html#a6f0cbd075878e2c0f021c0947cc8a211',1,'FlatBuffers::FlatBufferBuilder']]]
+];
diff --git a/search/search.css b/search/search.css
new file mode 100644
index 0000000000000000000000000000000000000000..4d7612ff63e3b5449072d07c3ffc648c6ad0bb11
--- /dev/null
+++ b/search/search.css
@@ -0,0 +1,271 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+    float: left;
+}
+
+#MSearchBox {
+    white-space : nowrap;
+    position: absolute;
+    float: none;
+    display: inline;
+    margin-top: 8px;
+    right: 0px;
+    width: 170px;
+    z-index: 102;
+    background-color: white;
+}
+
+#MSearchBox .left
+{
+    display:block;
+    position:absolute;
+    left:10px;
+    width:20px;
+    height:19px;
+    background:url('search_l.png') no-repeat;
+    background-position:right;
+}
+
+#MSearchSelect {
+    display:block;
+    position:absolute;
+    width:20px;
+    height:19px;
+}
+
+.left #MSearchSelect {
+    left:4px;
+}
+
+.right #MSearchSelect {
+    right:5px;
+}
+
+#MSearchField {
+    display:block;
+    position:absolute;
+    height:19px;
+    background:url('search_m.png') repeat-x;
+    border:none;
+    width:111px;
+    margin-left:20px;
+    padding-left:4px;
+    color: #909090;
+    outline: none;
+    font: 9pt Arial, Verdana, sans-serif;
+}
+
+#FSearchBox #MSearchField {
+    margin-left:15px;
+}
+
+#MSearchBox .right {
+    display:block;
+    position:absolute;
+    right:10px;
+    top:0px;
+    width:20px;
+    height:19px;
+    background:url('search_r.png') no-repeat;
+    background-position:left;
+}
+
+#MSearchClose {
+    display: none;
+    position: absolute;
+    top: 4px;
+    background : none;
+    border: none;
+    margin: 0px 4px 0px 0px;
+    padding: 0px 0px;
+    outline: none;
+}
+
+.left #MSearchClose {
+    left: 6px;
+}
+
+.right #MSearchClose {
+    right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+    color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #90A5CE;
+    background-color: #F9FAFC;
+    z-index: 1;
+    padding-top: 4px;
+    padding-bottom: 4px;
+    -moz-border-radius: 4px;
+    -webkit-border-top-left-radius: 4px;
+    -webkit-border-top-right-radius: 4px;
+    -webkit-border-bottom-left-radius: 4px;
+    -webkit-border-bottom-right-radius: 4px;
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+    font: 8pt Arial, Verdana, sans-serif;
+    padding-left:  2px;
+    padding-right: 12px;
+    border: 0px;
+}
+
+span.SelectionMark {
+    margin-right: 4px;
+    font-family: monospace;
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem {
+    display: block;
+    outline-style: none;
+    color: #000000; 
+    text-decoration: none;
+    padding-left:   6px;
+    padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+    color: #000000; 
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem:hover {
+    color: #FFFFFF;
+    background-color: #3D578C;
+    outline-style: none;
+    text-decoration: none;
+    cursor: pointer;
+    display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+    width: 60ex;
+    height: 15em;
+}
+
+#MSearchResultsWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #000;
+    background-color: #EEF1F7;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+    clear:both; 
+    padding-bottom: 15px;
+}
+
+.SREntry {
+    font-size: 10pt;
+    padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+    font-size: 8pt;
+    padding: 1px 5px;
+}
+
+body.SRPage {
+    margin: 5px 2px;
+}
+
+.SRChildren {
+    padding-left: 3ex; padding-bottom: .5em 
+}
+
+.SRPage .SRChildren {
+    display: none;
+}
+
+.SRSymbol {
+    font-weight: bold; 
+    color: #425E97;
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRScope {
+    display: block;
+    color: #425E97; 
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+    text-decoration: underline;
+}
+
+span.SRScope {
+    padding-left: 4px;
+}
+
+.SRPage .SRStatus {
+    padding: 2px 5px;
+    font-size: 8pt;
+    font-style: italic;
+}
+
+.SRResult {
+    display: none;
+}
+
+DIV.searchresults {
+    margin-left: 10px;
+    margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+    background-color: #F0F3F8;
+}
+
+.pages b {
+   color: white;
+   padding: 5px 5px 3px 5px;
+   background-image: url("../tab_a.png");
+   background-repeat: repeat-x;
+   text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+    line-height: 17px;
+    margin-left: 4px;
+    text-decoration: none;
+}
+
+.hl {
+    font-weight: bold;
+}
+
+#searchresults {
+    margin-bottom: 20px;
+}
+
+.searchpages {
+    margin-top: 10px;
+}
+
diff --git a/search/search.js b/search/search.js
new file mode 100644
index 0000000000000000000000000000000000000000..f09098c90804f77a084b8832d56239f2ddd5c04c
--- /dev/null
+++ b/search/search.js
@@ -0,0 +1,809 @@
+// Search script generated by doxygen
+// Copyright (C) 2009 by Dimitri van Heesch.
+
+// The code in this file is loosly based on main.js, part of Natural Docs,
+// which is Copyright (C) 2003-2008 Greg Valure
+// Natural Docs is licensed under the GPL.
+
+var indexSectionsWithContent =
+{
+  0: "$_abcdefgijkprstuw",
+  1: "f",
+  2: "f",
+  3: "f",
+  4: "_acdefgirs",
+  5: "$abcdfk",
+  6: "d",
+  7: "cgjp",
+  8: "bcfgptuw"
+};
+
+var indexSectionNames =
+{
+  0: "all",
+  1: "classes",
+  2: "namespaces",
+  3: "files",
+  4: "functions",
+  5: "variables",
+  6: "properties",
+  7: "groups",
+  8: "pages"
+};
+
+function convertToId(search)
+{
+  var result = '';
+  for (i=0;i<search.length;i++)
+  {
+    var c = search.charAt(i);
+    var cn = c.charCodeAt(0);
+    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
+    {
+      result+=c;
+    }
+    else if (cn<16) 
+    {
+      result+="_0"+cn.toString(16);
+    }
+    else 
+    {
+      result+="_"+cn.toString(16);
+    }
+  }
+  return result;
+}
+
+function getXPos(item)
+{
+  var x = 0;
+  if (item.offsetWidth)
+  {
+    while (item && item!=document.body)
+    {
+      x   += item.offsetLeft;
+      item = item.offsetParent;
+    }
+  }
+  return x;
+}
+
+function getYPos(item)
+{
+  var y = 0;
+  if (item.offsetWidth)
+  {
+     while (item && item!=document.body)
+     {
+       y   += item.offsetTop;
+       item = item.offsetParent;
+     }
+  }
+  return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+   Parameters:
+   name - The name of the global variable that will be 
+          storing this instance.  Is needed to be able to set timeouts.
+   resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, inFrame, label)
+{
+  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
+   
+  // ---------- Instance variables
+  this.name                  = name;
+  this.resultsPath           = resultsPath;
+  this.keyTimeout            = 0;
+  this.keyTimeoutLength      = 500;
+  this.closeSelectionTimeout = 300;
+  this.lastSearchValue       = "";
+  this.lastResultsPage       = "";
+  this.hideTimeout           = 0;
+  this.searchIndex           = 0;
+  this.searchActive          = false;
+  this.insideFrame           = inFrame;
+  this.searchLabel           = label;
+
+  // ----------- DOM Elements
+
+  this.DOMSearchField = function()
+  {  return document.getElementById("MSearchField");  }
+
+  this.DOMSearchSelect = function()
+  {  return document.getElementById("MSearchSelect");  }
+
+  this.DOMSearchSelectWindow = function()
+  {  return document.getElementById("MSearchSelectWindow");  }
+
+  this.DOMPopupSearchResults = function()
+  {  return document.getElementById("MSearchResults");  }
+
+  this.DOMPopupSearchResultsWindow = function()
+  {  return document.getElementById("MSearchResultsWindow");  }
+
+  this.DOMSearchClose = function()
+  {  return document.getElementById("MSearchClose"); }
+
+  this.DOMSearchBox = function()
+  {  return document.getElementById("MSearchBox");  }
+
+  // ------------ Event Handlers
+
+  // Called when focus is added or removed from the search field.
+  this.OnSearchFieldFocus = function(isActive)
+  {
+    this.Activate(isActive);
+  }
+
+  this.OnSearchSelectShow = function()
+  {
+    var searchSelectWindow = this.DOMSearchSelectWindow();
+    var searchField        = this.DOMSearchSelect();
+
+    if (this.insideFrame)
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      left += searchField.offsetWidth + 6;
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      left -= searchSelectWindow.offsetWidth;
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+    else
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+
+    // stop selection hide timer
+    if (this.hideTimeout) 
+    {
+      clearTimeout(this.hideTimeout);
+      this.hideTimeout=0;
+    }
+    return false; // to avoid "image drag" default event
+  }
+
+  this.OnSearchSelectHide = function()
+  {
+    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+                                  this.closeSelectionTimeout);
+  }
+
+  // Called when the content of the search field is changed.
+  this.OnSearchFieldChange = function(evt)
+  {
+    if (this.keyTimeout) // kill running timer
+    {
+      clearTimeout(this.keyTimeout);
+      this.keyTimeout = 0;
+    }
+
+    var e  = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 || e.keyCode==13)
+    {
+      if (e.shiftKey==1)
+      {
+        this.OnSearchSelectShow();
+        var win=this.DOMSearchSelectWindow(); 
+        for (i=0;i<win.childNodes.length;i++)
+        {
+          var child = win.childNodes[i]; // get span within a
+          if (child.className=='SelectItem')
+          {
+            child.focus();
+            return;
+          }
+        }
+        return;
+      }
+      else if (window.frames.MSearchResults.searchResults)
+      {
+        var elem = window.frames.MSearchResults.searchResults.NavNext(0);
+        if (elem) elem.focus();
+      }
+    }
+    else if (e.keyCode==27) // Escape out of the search field
+    {
+      this.DOMSearchField().blur();
+      this.DOMPopupSearchResultsWindow().style.display = 'none';
+      this.DOMSearchClose().style.display = 'none';
+      this.lastSearchValue = '';
+      this.Activate(false);
+      return;
+    }
+
+    // strip whitespaces
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+    if (searchValue != this.lastSearchValue) // search value has changed
+    {
+      if (searchValue != "") // non-empty search
+      {
+        // set timer for search update
+        this.keyTimeout = setTimeout(this.name + '.Search()',
+                                     this.keyTimeoutLength);
+      }
+      else // empty search field
+      {
+        this.DOMPopupSearchResultsWindow().style.display = 'none';
+        this.DOMSearchClose().style.display = 'none';
+        this.lastSearchValue = '';
+      }
+    }
+  }
+
+  this.SelectItemCount = function(id)
+  {
+    var count=0;
+    var win=this.DOMSearchSelectWindow(); 
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        count++;
+      }
+    }
+    return count;
+  }
+
+  this.SelectItemSet = function(id)
+  {
+    var i,j=0;
+    var win=this.DOMSearchSelectWindow(); 
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        var node = child.firstChild;
+        if (j==id)
+        {
+          node.innerHTML='&#8226;';
+        }
+        else
+        {
+          node.innerHTML='&#160;';
+        }
+        j++;
+      }
+    }
+  }
+
+  // Called when an search filter selection is made.
+  // set item with index id as the active item
+  this.OnSelectItem = function(id)
+  {
+    this.searchIndex = id;
+    this.SelectItemSet(id);
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+    if (searchValue!="" && this.searchActive) // something was found -> do a search
+    {
+      this.Search();
+    }
+  }
+
+  this.OnSearchSelectKey = function(evt)
+  {
+    var e = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+    {
+      this.searchIndex++;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==38 && this.searchIndex>0) // Up
+    {
+      this.searchIndex--;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==13 || e.keyCode==27)
+    {
+      this.OnSelectItem(this.searchIndex);
+      this.CloseSelectionWindow();
+      this.DOMSearchField().focus();
+    }
+    return false;
+  }
+
+  // --------- Actions
+
+  // Closes the results window.
+  this.CloseResultsWindow = function()
+  {
+    this.DOMPopupSearchResultsWindow().style.display = 'none';
+    this.DOMSearchClose().style.display = 'none';
+    this.Activate(false);
+  }
+
+  this.CloseSelectionWindow = function()
+  {
+    this.DOMSearchSelectWindow().style.display = 'none';
+  }
+
+  // Performs a search.
+  this.Search = function()
+  {
+    this.keyTimeout = 0;
+
+    // strip leading whitespace
+    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+    var code = searchValue.toLowerCase().charCodeAt(0);
+    var idxChar = searchValue.substr(0, 1).toLowerCase();
+    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+    {
+      idxChar = searchValue.substr(0, 2);
+    }
+
+    var resultsPage;
+    var resultsPageWithSearch;
+    var hasResultsPage;
+
+    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+    if (idx!=-1)
+    {
+       var hexCode=idx.toString(16);
+       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
+       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+       hasResultsPage = true;
+    }
+    else // nothing available for this search term
+    {
+       resultsPage = this.resultsPath + '/nomatches.html';
+       resultsPageWithSearch = resultsPage;
+       hasResultsPage = false;
+    }
+
+    window.frames.MSearchResults.location = resultsPageWithSearch;  
+    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+    if (domPopupSearchResultsWindow.style.display!='block')
+    {
+       var domSearchBox = this.DOMSearchBox();
+       this.DOMSearchClose().style.display = 'inline';
+       if (this.insideFrame)
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         domPopupSearchResultsWindow.style.position = 'relative';
+         domPopupSearchResultsWindow.style.display  = 'block';
+         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+         domPopupSearchResultsWindow.style.width    = width + 'px';
+         domPopupSearchResults.style.width          = width + 'px';
+       }
+       else
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
+         domPopupSearchResultsWindow.style.display = 'block';
+         left -= domPopupSearchResults.offsetWidth;
+         domPopupSearchResultsWindow.style.top     = top  + 'px';
+         domPopupSearchResultsWindow.style.left    = left + 'px';
+       }
+    }
+
+    this.lastSearchValue = searchValue;
+    this.lastResultsPage = resultsPage;
+  }
+
+  // -------- Activation Functions
+
+  // Activates or deactivates the search panel, resetting things to 
+  // their default values if necessary. 
+  this.Activate = function(isActive)
+  {
+    if (isActive || // open it
+        this.DOMPopupSearchResultsWindow().style.display == 'block' 
+       )
+    {
+      this.DOMSearchBox().className = 'MSearchBoxActive';
+
+      var searchField = this.DOMSearchField();
+
+      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+      {  
+        searchField.value = '';  
+        this.searchActive = true;
+      }
+    }
+    else if (!isActive) // directly remove the panel
+    {
+      this.DOMSearchBox().className = 'MSearchBoxInactive';
+      this.DOMSearchField().value   = this.searchLabel;
+      this.searchActive             = false;
+      this.lastSearchValue          = ''
+      this.lastResultsPage          = '';
+    }
+  }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+    // The number of matches from the last run of <Search()>.
+    this.lastMatchCount = 0;
+    this.lastKey = 0;
+    this.repeatOn = false;
+
+    // Toggles the visibility of the passed element ID.
+    this.FindChildElement = function(id)
+    {
+      var parentElement = document.getElementById(id);
+      var element = parentElement.firstChild;
+
+      while (element && element!=parentElement)
+      {
+        if (element.nodeName == 'DIV' && element.className == 'SRChildren')
+        {
+          return element;
+        }
+
+        if (element.nodeName == 'DIV' && element.hasChildNodes())
+        {  
+           element = element.firstChild;  
+        }
+        else if (element.nextSibling)
+        {  
+           element = element.nextSibling;  
+        }
+        else
+        {
+          do
+          {
+            element = element.parentNode;
+          }
+          while (element && element!=parentElement && !element.nextSibling);
+
+          if (element && element!=parentElement)
+          {  
+            element = element.nextSibling;  
+          }
+        }
+      }
+    }
+
+    this.Toggle = function(id)
+    {
+      var element = this.FindChildElement(id);
+      if (element)
+      {
+        if (element.style.display == 'block')
+        {
+          element.style.display = 'none';
+        }
+        else
+        {
+          element.style.display = 'block';
+        }
+      }
+    }
+
+    // Searches for the passed string.  If there is no parameter,
+    // it takes it from the URL query.
+    //
+    // Always returns true, since other documents may try to call it
+    // and that may or may not be possible.
+    this.Search = function(search)
+    {
+      if (!search) // get search word from URL
+      {
+        search = window.location.search;
+        search = search.substring(1);  // Remove the leading '?'
+        search = unescape(search);
+      }
+
+      search = search.replace(/^ +/, ""); // strip leading spaces
+      search = search.replace(/ +$/, ""); // strip trailing spaces
+      search = search.toLowerCase();
+      search = convertToId(search);
+
+      var resultRows = document.getElementsByTagName("div");
+      var matches = 0;
+
+      var i = 0;
+      while (i < resultRows.length)
+      {
+        var row = resultRows.item(i);
+        if (row.className == "SRResult")
+        {
+          var rowMatchName = row.id.toLowerCase();
+          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+          if (search.length<=rowMatchName.length && 
+             rowMatchName.substr(0, search.length)==search)
+          {
+            row.style.display = 'block';
+            matches++;
+          }
+          else
+          {
+            row.style.display = 'none';
+          }
+        }
+        i++;
+      }
+      document.getElementById("Searching").style.display='none';
+      if (matches == 0) // no results
+      {
+        document.getElementById("NoMatches").style.display='block';
+      }
+      else // at least one result
+      {
+        document.getElementById("NoMatches").style.display='none';
+      }
+      this.lastMatchCount = matches;
+      return true;
+    }
+
+    // return the first item with index index or higher that is visible
+    this.NavNext = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index++;
+      }
+      return focusItem;
+    }
+
+    this.NavPrev = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index--;
+      }
+      return focusItem;
+    }
+
+    this.ProcessKeys = function(e)
+    {
+      if (e.type == "keydown") 
+      {
+        this.repeatOn = false;
+        this.lastKey = e.keyCode;
+      }
+      else if (e.type == "keypress")
+      {
+        if (!this.repeatOn)
+        {
+          if (this.lastKey) this.repeatOn = true;
+          return false; // ignore first keypress after keydown
+        }
+      }
+      else if (e.type == "keyup")
+      {
+        this.lastKey = 0;
+        this.repeatOn = false;
+      }
+      return this.lastKey!=0;
+    }
+
+    this.Nav = function(evt,itemIndex) 
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        var newIndex = itemIndex-1;
+        var focusItem = this.NavPrev(newIndex);
+        if (focusItem)
+        {
+          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+          if (child && child.style.display == 'block') // children visible
+          { 
+            var n=0;
+            var tmpElem;
+            while (1) // search for last child
+            {
+              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+              if (tmpElem)
+              {
+                focusItem = tmpElem;
+              }
+              else // found it!
+              {
+                break;
+              }
+              n++;
+            }
+          }
+        }
+        if (focusItem)
+        {
+          focusItem.focus();
+        }
+        else // return focus to search field
+        {
+           parent.document.getElementById("MSearchField").focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = itemIndex+1;
+        var focusItem;
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem && elem.style.display == 'block') // children visible
+        {
+          focusItem = document.getElementById('Item'+itemIndex+'_c0');
+        }
+        if (!focusItem) focusItem = this.NavNext(newIndex);
+        if (focusItem)  focusItem.focus();
+      }
+      else if (this.lastKey==39) // Right
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'block';
+      }
+      else if (this.lastKey==37) // Left
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'none';
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+
+    this.NavChild = function(evt,itemIndex,childIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        if (childIndex>0)
+        {
+          var newIndex = childIndex-1;
+          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+        }
+        else // already at first child, jump to parent
+        {
+          document.getElementById('Item'+itemIndex).focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = childIndex+1;
+        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+        if (!elem) // last child, jump to parent next parent
+        {
+          elem = this.NavNext(itemIndex+1);
+        }
+        if (elem)
+        {
+          elem.focus();
+        } 
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+}
+
+function setKeyActions(elem,action)
+{
+  elem.setAttribute('onkeydown',action);
+  elem.setAttribute('onkeypress',action);
+  elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+  elem.setAttribute('class',attr);
+  elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+  var results = document.getElementById("SRResults");
+  for (var e=0; e<searchData.length; e++)
+  {
+    var id = searchData[e][0];
+    var srResult = document.createElement('div');
+    srResult.setAttribute('id','SR_'+id);
+    setClassAttr(srResult,'SRResult');
+    var srEntry = document.createElement('div');
+    setClassAttr(srEntry,'SREntry');
+    var srLink = document.createElement('a');
+    srLink.setAttribute('id','Item'+e);
+    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+    setClassAttr(srLink,'SRSymbol');
+    srLink.innerHTML = searchData[e][1][0];
+    srEntry.appendChild(srLink);
+    if (searchData[e][1].length==2) // single result
+    {
+      srLink.setAttribute('href',searchData[e][1][1][0]);
+      if (searchData[e][1][1][1])
+      {
+       srLink.setAttribute('target','_parent');
+      }
+      var srScope = document.createElement('span');
+      setClassAttr(srScope,'SRScope');
+      srScope.innerHTML = searchData[e][1][1][2];
+      srEntry.appendChild(srScope);
+    }
+    else // multiple results
+    {
+      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+      var srChildren = document.createElement('div');
+      setClassAttr(srChildren,'SRChildren');
+      for (var c=0; c<searchData[e][1].length-1; c++)
+      {
+        var srChild = document.createElement('a');
+        srChild.setAttribute('id','Item'+e+'_c'+c);
+        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+        setClassAttr(srChild,'SRScope');
+        srChild.setAttribute('href',searchData[e][1][c+1][0]);
+        if (searchData[e][1][c+1][1])
+        {
+         srChild.setAttribute('target','_parent');
+        }
+        srChild.innerHTML = searchData[e][1][c+1][2];
+        srChildren.appendChild(srChild);
+      }
+      srEntry.appendChild(srChildren);
+    }
+    srResult.appendChild(srEntry);
+    results.appendChild(srResult);
+  }
+}
+
diff --git a/search/search_l.png b/search/search_l.png
new file mode 100644
index 0000000000000000000000000000000000000000..c872f4da4a01d0754f923e6c94fd8159c0621bd1
Binary files /dev/null and b/search/search_l.png differ
diff --git a/search/search_m.png b/search/search_m.png
new file mode 100644
index 0000000000000000000000000000000000000000..b429a16ba641960da1e52e5da85dc80fd82635c8
Binary files /dev/null and b/search/search_m.png differ
diff --git a/search/search_r.png b/search/search_r.png
new file mode 100644
index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a
Binary files /dev/null and b/search/search_r.png differ
diff --git a/search/variables_0.html b/search/variables_0.html
new file mode 100644
index 0000000000000000000000000000000000000000..16be28cf12776fdb4648517a0ef9fddaae144c0e
--- /dev/null
+++ b/search/variables_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_0.js b/search/variables_0.js
new file mode 100644
index 0000000000000000000000000000000000000000..5e5aef12800369093c84c529071e3a00fe7c1a22
--- /dev/null
+++ b/search/variables_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_24bb',['$bb',['../class_google_1_1_flat_buffers_1_1_flatbuffer_builder.html#aa01f9205792614930138e19d3e310b7b',1,'Google::FlatBuffers::FlatbufferBuilder']]]
+];
diff --git a/search/variables_1.html b/search/variables_1.html
new file mode 100644
index 0000000000000000000000000000000000000000..1e306bd8b25c995fa23aab8d663440d0efab0872
--- /dev/null
+++ b/search/variables_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_1.js b/search/variables_1.js
new file mode 100644
index 0000000000000000000000000000000000000000..7d2e4c1abf0390802b4eabc1db4d4965e8793bc7
--- /dev/null
+++ b/search/variables_1.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+  ['addfloat32',['addFloat32',['../group__flatbuffers__javascript__api.html#ga1c36e9d7e294c61d1d6ab0923ea91e8e',1,'flatbuffers.js']]],
+  ['addfloat64',['addFloat64',['../group__flatbuffers__javascript__api.html#ga53af3baf50f96de783c06a35934d63bf',1,'flatbuffers.js']]],
+  ['addint16',['addInt16',['../group__flatbuffers__javascript__api.html#ga8260b8431cb8b1c32b5997646cb102a9',1,'flatbuffers.js']]],
+  ['addint32',['addInt32',['../group__flatbuffers__javascript__api.html#gaba2edd0e1e53d1c2815bb1a6ee54abf5',1,'flatbuffers.js']]],
+  ['addint64',['addInt64',['../group__flatbuffers__javascript__api.html#ga17a48cc241b10348fd6751ed3a973e2d',1,'flatbuffers.js']]],
+  ['addint8',['addInt8',['../group__flatbuffers__javascript__api.html#ga7963cbb1ae0a8589b183f9b26fb25b45',1,'flatbuffers.js']]],
+  ['addoffset',['addOffset',['../group__flatbuffers__javascript__api.html#ga21ba7dd4c33dafd6abb89568e4d9c8b8',1,'flatbuffers.js']]],
+  ['asuint8array',['asUint8Array',['../group__flatbuffers__javascript__api.html#ga997af48d5c8f757fcb962168d67e33fb',1,'flatbuffers.js']]]
+];
diff --git a/search/variables_2.html b/search/variables_2.html
new file mode 100644
index 0000000000000000000000000000000000000000..938e165db384cde77755c97dd542aeb8c67ce2fb
--- /dev/null
+++ b/search/variables_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_2.js b/search/variables_2.js
new file mode 100644
index 0000000000000000000000000000000000000000..6e99bc5aa459e7b0333410fa3e12430473c9f2bf
--- /dev/null
+++ b/search/variables_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['builder',['Builder',['../group__flatbuffers__javascript__api.html#gabd00b65bbe9e9fbac55fe4982eb6cec8',1,'flatbuffers.js']]]
+];
diff --git a/search/variables_3.html b/search/variables_3.html
new file mode 100644
index 0000000000000000000000000000000000000000..7ca5d9b726055a37d30002a95a63c147b466074a
--- /dev/null
+++ b/search/variables_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_3.js b/search/variables_3.js
new file mode 100644
index 0000000000000000000000000000000000000000..51e8256f805307789d4e932940e7750a55467569
--- /dev/null
+++ b/search/variables_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['createstring',['createString',['../group__flatbuffers__javascript__api.html#gaa7a7bd67cb1c3190792d4b2b3e66376f',1,'flatbuffers.js']]]
+];
diff --git a/search/variables_4.html b/search/variables_4.html
new file mode 100644
index 0000000000000000000000000000000000000000..002145fba500dd5777985a96c1ede8862b1de36b
--- /dev/null
+++ b/search/variables_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_4.js b/search/variables_4.js
new file mode 100644
index 0000000000000000000000000000000000000000..1507c602b83cf5af95ee0570cd3d094301975e96
--- /dev/null
+++ b/search/variables_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['databuffer',['dataBuffer',['../group__flatbuffers__javascript__api.html#ga674814e0816f06c8a29ab364d19bed60',1,'flatbuffers.js']]]
+];
diff --git a/search/variables_5.html b/search/variables_5.html
new file mode 100644
index 0000000000000000000000000000000000000000..c7c254944d2fd24c9eaa3ddc2c263dfc9d25e45b
--- /dev/null
+++ b/search/variables_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_5.js b/search/variables_5.js
new file mode 100644
index 0000000000000000000000000000000000000000..bfa3083a64f4df447ba6c65e163b423c8b580b9b
--- /dev/null
+++ b/search/variables_5.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['finish',['finish',['../group__flatbuffers__javascript__api.html#ga62c5cf622a7bbcfd49f21bddd8b9bef7',1,'flatbuffers.js']]],
+  ['forcedefaults',['forceDefaults',['../group__flatbuffers__javascript__api.html#ga0d1738111b83dffb2c2a7fc8bca19b33',1,'flatbuffers.js']]]
+];
diff --git a/search/variables_6.html b/search/variables_6.html
new file mode 100644
index 0000000000000000000000000000000000000000..70eccea012555117a12c217c9b29f7b8b7d81588
--- /dev/null
+++ b/search/variables_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_6.js b/search/variables_6.js
new file mode 100644
index 0000000000000000000000000000000000000000..7dcdf36b8546871c1eefa49f52858ca010cef1a5
--- /dev/null
+++ b/search/variables_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['kfileidentifierlength',['kFileIdentifierLength',['../classflatbuffers_1_1_flat_buffer_builder.html#af8c7583c92e1d1d6f438977da5158d19',1,'flatbuffers::FlatBufferBuilder']]]
+];
diff --git a/style.css b/style.css
index 94ec90b13fac7a2c7217026bad4af3f7c09cdde5..6045a973adceb1647bf6245633b8cb449c0bd34b 100644
--- a/style.css
+++ b/style.css
@@ -1,13 +1,13 @@
-body, 
+body,
 #projectname,
-table, 
-div, 
-p, 
-dl, 
-.title, 
-.tabs, 
-.tabs2, 
-.tabs3, 
+table,
+div,
+p,
+dl,
+.title,
+.tabs,
+.tabs2,
+.tabs3,
 #nav-tree .label {
   font-family: roboto, sans-serif;
 }
@@ -44,12 +44,12 @@ dl,
   font-size: 14px;
 }
 
-.tabs, 
-.tabs2, 
-.tabs3, 
-.tablist li, 
+.tabs,
+.tabs2,
+.tabs3,
+.tablist li,
 .tablist li.current a {
-  background-image: none;	
+  background-image: none;
 }
 
 .tablist {
@@ -106,8 +106,8 @@ div.header {
   right: 10px;
 }
 
-#MSearchBox .left, 
-#MSearchBox .right, 
+#MSearchBox .left,
+#MSearchBox .right,
 #MSearchField {
   background: none;
 }
@@ -165,9 +165,9 @@ a.SelectItem:hover {
   margin-bottom: 8px;
 }
 
-a:link, 
-a:visited, 
-.contents a:link, 
+a:link,
+a:visited,
+.contents a:link,
 .contents a:visited,
 a.el {
   color: #0288d1;
@@ -197,7 +197,7 @@ div.contents {
 }
 
 .directory tr#row_0_ {
-  border-top-color: #7cb342;	
+  border-top-color: #7cb342;
 }
 
 .directory tr#row_0_ td {
@@ -276,7 +276,7 @@ table.doxtable td {
 }
 
 .memberdecls tr:not(.heading) td {
-  background-color: rgba(255,255,255,.95);  
+  background-color: rgba(255,255,255,.95);
 }
 
 h1, h2, h2.groupheader, h3, h4, h5, h6 {
@@ -366,7 +366,7 @@ div.line {
 code, pre {
   color: #455a64;
   background: #f7f7f7;
-  font: 400 100%/1 Roboto Mono,monospace;
+  font: 400 100% Roboto Mono,monospace;
   padding: 1px 4px;
 }
 
@@ -375,7 +375,7 @@ span.preprocessor, span.comment {
 }
 
 span.keywordtype {
-  color: #0097a7;  
+  color: #0097a7;
 }
 
 .paramname {
@@ -383,7 +383,7 @@ span.keywordtype {
 }
 
 .memTemplParams {
-  color: #ef6c00;	
+  color: #ef6c00;
 }
 
 span.mlabel {
diff --git a/usergroup0.html b/usergroup0.html
new file mode 100644
index 0000000000000000000000000000000000000000..a2cfc040e2848d16c4587367043128ddbbc017fa
--- /dev/null
+++ b/usergroup0.html
@@ -0,0 +1,154 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: Programmer&#39;s Guide</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="flatbuffers_guide_building.html"><span>Building</span></a></li>
+      <li><a href="flatbuffers_guide_tutorial.html"><span>Tutorial</span></a></li>
+      <li><a href="flatbuffers_guide_using_schema_compiler.html"><span>Using&#160;the&#160;schema&#160;compiler</span></a></li>
+      <li><a href="flatbuffers_guide_writing_schema.html"><span>Writing&#160;a&#160;schema</span></a></li>
+      <li><a href="flatbuffers_guide_use_cpp.html"><span>Use&#160;in&#160;C++</span></a></li>
+      <li><a href="flatbuffers_guide_use_go.html"><span>Use&#160;in&#160;Go</span></a></li>
+      <li><a href="flatbuffers_guide_use_java_c-sharp.html"><span>Use&#160;in&#160;Java/C#</span></a></li>
+      <li><a href="flatbuffers_guide_use_javascript.html"><span>Use&#160;in&#160;JavaScript</span></a></li>
+      <li><a href="flatbuffers_guide_use_php.html"><span>Use&#160;in&#160;PHP</span></a></li>
+      <li><a href="flatbuffers_guide_use_python.html"><span>Use&#160;in&#160;Python</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('usergroup0.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">Programmer's Guide</div>  </div>
+</div><!--header-->
+<div class="contents">
+<ul>
+<li><a href="flatbuffers_guide_building.html"><span>Building</span></a></li>
+<li><a href="flatbuffers_guide_tutorial.html"><span>Tutorial</span></a></li>
+<li><a href="flatbuffers_guide_using_schema_compiler.html"><span>Using&#160;the&#160;schema&#160;compiler</span></a></li>
+<li><a href="flatbuffers_guide_writing_schema.html"><span>Writing&#160;a&#160;schema</span></a></li>
+<li><a href="flatbuffers_guide_use_cpp.html"><span>Use&#160;in&#160;C++</span></a></li>
+<li><a href="flatbuffers_guide_use_go.html"><span>Use&#160;in&#160;Go</span></a></li>
+<li><a href="flatbuffers_guide_use_java_c-sharp.html"><span>Use&#160;in&#160;Java/C#</span></a></li>
+<li><a href="flatbuffers_guide_use_javascript.html"><span>Use&#160;in&#160;JavaScript</span></a></li>
+<li><a href="flatbuffers_guide_use_php.html"><span>Use&#160;in&#160;PHP</span></a></li>
+<li><a href="flatbuffers_guide_use_python.html"><span>Use&#160;in&#160;Python</span></a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>
diff --git a/usergroup1.html b/usergroup1.html
new file mode 100644
index 0000000000000000000000000000000000000000..fc33ce32a8377d272aa0a4a05f8d59da2085ca31
--- /dev/null
+++ b/usergroup1.html
@@ -0,0 +1,138 @@
+<!-- HTML header for doxygen 1.8.6-->
+<!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.7"/>
+<title>FlatBuffers: API 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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea" style="height: 110px;">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="commonprojectlogo">
+    <img alt="Logo" src="fpl_logo_small.png"/>
+  </td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">FlatBuffers
+   </div>
+   <div style="font-size:12px;">
+    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="usergroup0.html"><span>Programmer's&#160;Guide</span></a></li>
+      <li><a href="flatbuffers_support.html"><span>Platform&#160;/&#160;Language&#160;/&#160;Feature&#160;support</span></a></li>
+      <li><a href="flatbuffers_benchmarks.html"><span>Benchmarks</span></a></li>
+      <li><a href="flatbuffers_white_paper.html"><span>FlatBuffers&#160;white&#160;paper</span></a></li>
+      <li><a href="flatbuffers_internals.html"><span>FlatBuffers&#160;internals</span></a></li>
+      <li><a href="flatbuffers_grammar.html"><span>Grammar&#160;of&#160;the&#160;schema&#160;langauge</span></a></li>
+      <li class="current"><a href="usergroup1.html"><span>API&#160;Reference</span></a></li>
+      <li><a href="contributing.html"><span>Contributing</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="modules.html"><span>APIs</span></a></li>
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+    </ul>
+  </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">
+$(document).ready(function(){initNavTree('usergroup1.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="headertitle">
+<div class="title">API Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<ul>
+<li><a href="modules.html"><span>APIs</span></a></li>
+<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- Google Analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-49880327-7', 'auto');
+  ga('send', 'pageview');
+</script>
+</body>
+</html>