<!-- 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.9.1"/>
<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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<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.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('functions_g.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="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 id="index_g"></a>- g -</h3><ul>
<li>get()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#ad1fa1938fc245a69af0b943848832793">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_boolean_vector.html#acb44cf00b5ded053022f452337a76ba0">com.google.flatbuffers.BooleanVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#aec1e57290aabd831a50b3f8535879fe5">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_vector.html#a21d252953da38d6fb626c280f71c7c09">com.google.flatbuffers.ByteVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_double_vector.html#a6157726d626957b65bb34d927c4e89e4">com.google.flatbuffers.DoubleVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_blob.html#ac7ab0e2718e9acc323c73f7c10c6ec9d">com.google.flatbuffers.FlexBuffers.Blob</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_key_vector.html#adfc6ca2d8a33be0c7e29eb9de8fadf41">com.google.flatbuffers.FlexBuffers.KeyVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_map.html#a7058abdb9a0806c9bedae656a777c37a">com.google.flatbuffers.FlexBuffers.Map</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_typed_vector.html#a33bf19f899619233946c1cc405a45bc0">com.google.flatbuffers.FlexBuffers.TypedVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_vector.html#ad662fae61c30eac6296616d2d5abe7c4">com.google.flatbuffers.FlexBuffers.Vector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_float_vector.html#a55247003df0f6e1e985bc107432f2a4b">com.google.flatbuffers.FloatVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_int_vector.html#a7cb89cdbca7f58c591cf6a0fbafd1c6a">com.google.flatbuffers.IntVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_long_vector.html#aa5a2d31e2bca299bb65e4a84c1f4947b">com.google.flatbuffers.LongVector</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a9d10237e6fba120b292dca3bd3e5bb14">com.google.flatbuffers.ReadBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_short_vector.html#aef1c2e0cbad19c52faf0166267ad3033">com.google.flatbuffers.ShortVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_string_vector.html#a64c5bee56930170b356ae9c077952be3">com.google.flatbuffers.StringVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_union_vector.html#a48f5d37332dcfa3509147247bd72e5c3">com.google.flatbuffers.UnionVector</a>
</li>
<li>getAsUnsigned()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_vector.html#adda0a66ec6c6a4a923ab73397b394070">com.google.flatbuffers.ByteVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_int_vector.html#a94296ebc7a0d01aea36c28ce1781cb4d">com.google.flatbuffers.IntVector</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_short_vector.html#afb8024985434c7cd3fe098dfc64d1fcc">com.google.flatbuffers.ShortVector</a>
</li>
<li>getBoolean()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a014dc7a3e7200996bb3c309e44d81719">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a9db81f0aa0d0d8a55d9d816eeef5d009">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a4cd2ca604d2dc0a78b83d572cc4e4048">com.google.flatbuffers.ReadBuf</a>
</li>
<li>getBuffer()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_builder.html#a94e61f22dca5fa5a29051b790e7f7f91">com.google.flatbuffers.FlexBuffersBuilder</a>
</li>
<li>GetBufferMinAlignment()
: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a402b9180357e7e73546833982b27177e">flatbuffers::FlatBufferBuilder</a>
</li>
<li>GetBufferPointer()
: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ab81ab8aa273c270b0942fd81489cad83">flatbuffers::FlatBufferBuilder</a>
</li>
<li>GetBufferSpan()
: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#ab7c73abf3f6ca51cd3b6ebb931596084">flatbuffers::FlatBufferBuilder</a>
</li>
<li>getBytes()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_blob.html#aab505f247014c002ca89de2daf1d63a0">com.google.flatbuffers.FlexBuffers.Blob</a>
</li>
<li>GetCurrentBufferPointer()
: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a099810f03046139d1854d20a1c2a2e41">flatbuffers::FlatBufferBuilder</a>
</li>
<li>getDefault()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a291c293832c8f646817afefad4c24858">com.google.flatbuffers.Utf8</a>
</li>
<li>getDouble()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#aead600d380d6fc4835caef241ebc06b9">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a787c463b13e258388ade44659049ec9b">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a2dbca946a086ed56425308cc8c00b8f7">com.google.flatbuffers.ReadBuf</a>
</li>
<li>getElemType()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_typed_vector.html#a4437daabbd0d48f4a5f1c979f7439511">com.google.flatbuffers.FlexBuffers.TypedVector</a>
</li>
<li>getFloat()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a15e79add2143d2ce4f11c2009a1261ea">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a3b45184a9500e409b67416ddb734085e">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a2128f1c05db0b3b06a5cfacfc0aaa26c">com.google.flatbuffers.ReadBuf</a>
</li>
<li>getInt()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a2efe5730ee74a86407929646a16faf09">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#abad9ef17aaaabe67937fdeeaf021061d">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a7b1b5d410baa0171ecbc87b4605fc43e">com.google.flatbuffers.ReadBuf</a>
</li>
<li>getLong()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#aa8e4762e6095d39f3a3f562c55f85d54">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a5d6b27a33fd5ad89677f39e21178a8de">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a37c04ff40b667285a72d38cfbd004d38">com.google.flatbuffers.ReadBuf</a>
</li>
<li>getRoot()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers.html#ac3d867e6a043cd40599fbde8a1c73fba">com.google.flatbuffers.FlexBuffers</a>
</li>
<li>getShort()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a23a071854c544d7eb968955595c8c525">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a790b18227ab7184ae28521bd0bf01800">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a0fd31ab96ff910d2b029f8e0c995e6c0">com.google.flatbuffers.ReadBuf</a>
</li>
<li>GetSize()
: <a class="el" href="classflatbuffers_1_1_flat_buffer_builder.html#a66c8fd33ab9b3b237954c9ea38648f7f">flatbuffers::FlatBufferBuilder</a>
</li>
<li>getSizePrefix()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_util.html#a4c87c63fa8d31e039b344bbaef00a3be">com.google.flatbuffers.ByteBufferUtil</a>
</li>
<li>getString()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#ab4b85878c24a6973a456f693b672a758">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a2095fb395b7727c45b5385e6d24d7925">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_buf.html#a9f5c9e2642b0d48fb1b0c023349da771">com.google.flatbuffers.ReadBuf</a>
</li>
<li>getType()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_reference.html#a56f68f9011ac1d8ba3e59acdbee9407a">com.google.flatbuffers.FlexBuffers.Reference</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>
