<!-- 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 - 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="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_func_s.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">
&#160;

<h3><a id="index_s"></a>- s -</h3><ul>
<li>set()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a86a0cdc07bc774f94de41318e7247dc7">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a1e0db8224f63f5f071856f6eb2b72894">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_write_buf.html#a81a13909e7f85d2a59a702b686927cbc">com.google.flatbuffers.ReadWriteBuf</a>
</li>
<li>setBoolean()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#ac15eafce1750fb8fa4b7eded55d76460">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#afcebeb867777a45d2c1cf1872b4cddb9">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_write_buf.html#a4c1b936918c27f91e217383686870364">com.google.flatbuffers.ReadWriteBuf</a>
</li>
<li>setDefault()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a59a8ffdd2205343d3c64d0b764eeab17">com.google.flatbuffers.Utf8</a>
</li>
<li>setDouble()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a7e32061542b9253163a6c0a4a358aca4">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a49aba59073e9c064faa6e5ee6ffe18f5">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_write_buf.html#a61f5c9da47c619ca15ef9fc2308e508b">com.google.flatbuffers.ReadWriteBuf</a>
</li>
<li>setFloat()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a68e00d02003acf909a4142bd54b1dc21">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a584d51b8b8647402e033110eb3809072">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_write_buf.html#a0f479964fafd8e48104ce33e73763e34">com.google.flatbuffers.ReadWriteBuf</a>
</li>
<li>setInt()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a3d9aa74ecb28f03e883d1cf0bab44d8d">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#acc0cebdd121886e368cdc171519a701d">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_write_buf.html#a08aaf6283b86ed27fa327aa9bf9e59a8">com.google.flatbuffers.ReadWriteBuf</a>
</li>
<li>setLong()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a2d7cf1622eeaee027045b316a4b4bfd1">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#ab60b5825a16eead155a665cc914c1b7b">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_write_buf.html#af212653e872071a79a35393626d02390">com.google.flatbuffers.ReadWriteBuf</a>
</li>
<li>setShort()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_array_read_write_buf.html#a31bcd51cf8046f83be7b0f63726cfd50">com.google.flatbuffers.ArrayReadWriteBuf</a>
, <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_byte_buffer_read_write_buf.html#a8549abd79e788ad20de783e3357bf09d">com.google.flatbuffers.ByteBufferReadWriteBuf</a>
, <a class="el" href="interfacecom_1_1google_1_1flatbuffers_1_1_read_write_buf.html#a95ddbaae12a87cdda0b5ecce61abf920">com.google.flatbuffers.ReadWriteBuf</a>
</li>
<li>size()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_1_1_key_vector.html#a6c07c1e2cb7031cffb971c1e2f695bee">com.google.flatbuffers.FlexBuffers.KeyVector</a>
</li>
<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>
<li>sizedInputStream()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flat_buffer_builder.html#ab8fc86fe501b182b4a1a50fcdbcb3e6b">com.google.flatbuffers.FlatBufferBuilder</a>
</li>
<li>startMap()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_builder.html#aa22c107245be88bcf973fa180169fa53">com.google.flatbuffers.FlexBuffersBuilder</a>
</li>
<li>startVector()
: <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_flex_buffers_builder.html#a8f2b9e6c23717899cfc6f1e2b66a1baa">com.google.flatbuffers.FlexBuffersBuilder</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>
