blob: 058689a82763ceffbbc2337173bb1565bc3b3dc1 [file] [log] [blame] [edit]
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="canonical" href="https://flatbuffers.dev/flatc/">
<link rel="prev" href="../building/">
<link rel="next" href="../schema/">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.0">
<title>Using - FlatBuffers Docs</title>
<link rel="stylesheet" href="../assets/stylesheets/main.618322db.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#flatbuffers-compiler-flatc" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="FlatBuffers Docs" class="md-header__button md-logo" aria-label="FlatBuffers Docs" data-md-component="logo">
<img src="../assets/flatbuffers_logo.svg" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
FlatBuffers Docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Using
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__source">
<a href="https://github.com/google/flatbuffers" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
google/FlatBuffers
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="FlatBuffers Docs" class="md-nav__button md-logo" aria-label="FlatBuffers Docs" data-md-component="logo">
<img src="../assets/flatbuffers_logo.svg" alt="logo">
</a>
FlatBuffers Docs
</label>
<div class="md-nav__source">
<a href="https://github.com/google/flatbuffers" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
google/FlatBuffers
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../quick_start/" class="md-nav__link">
<span class="md-ellipsis">
Quick Start
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../tutorial/" class="md-nav__link">
<span class="md-ellipsis">
Tutorial
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
Compiler (flatc)
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Compiler (flatc)
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../building/" class="md-nav__link">
<span class="md-ellipsis">
Building
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Using
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Using
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#input-files" class="md-nav__link">
<span class="md-ellipsis">
Input Files
</span>
</a>
<nav class="md-nav" aria-label="Input Files">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#schema-files" class="md-nav__link">
<span class="md-ellipsis">
Schema Files
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#data-files" class="md-nav__link">
<span class="md-ellipsis">
Data Files
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#additional-options" class="md-nav__link">
<span class="md-ellipsis">
Additional options
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
Schema (.fbs)
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Schema (.fbs)
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../schema/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../evolution/" class="md-nav__link">
<span class="md-ellipsis">
Evolution
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../grammar/" class="md-nav__link">
<span class="md-ellipsis">
Grammar
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-ellipsis">
Language Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Language Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../languages/c/" class="md-nav__link">
<span class="md-ellipsis">
C
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/cpp/" class="md-nav__link">
<span class="md-ellipsis">
C++
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/c_sharp/" class="md-nav__link">
<span class="md-ellipsis">
C#
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/dart/" class="md-nav__link">
<span class="md-ellipsis">
Dart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/go/" class="md-nav__link">
<span class="md-ellipsis">
Go
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/java/" class="md-nav__link">
<span class="md-ellipsis">
Java
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/javascript/" class="md-nav__link">
<span class="md-ellipsis">
JavaScript
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/kotlin/" class="md-nav__link">
<span class="md-ellipsis">
Kotlin
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/lobster/" class="md-nav__link">
<span class="md-ellipsis">
Lobster
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/lua/" class="md-nav__link">
<span class="md-ellipsis">
Lua
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/php/" class="md-nav__link">
<span class="md-ellipsis">
PHP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/python/" class="md-nav__link">
<span class="md-ellipsis">
Python
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/rust/" class="md-nav__link">
<span class="md-ellipsis">
Rust
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/swift/" class="md-nav__link">
<span class="md-ellipsis">
Swift
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../languages/typescript/" class="md-nav__link">
<span class="md-ellipsis">
TypeScript
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../support/" class="md-nav__link">
<span class="md-ellipsis">
Supported Configurations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../white_paper/" class="md-nav__link">
<span class="md-ellipsis">
White Paper
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-ellipsis">
Advanced
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../internals/" class="md-nav__link">
<span class="md-ellipsis">
FlatBuffers Internals
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../intermediate_representation/" class="md-nav__link">
<span class="md-ellipsis">
Intermediate Representation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../annotation/" class="md-nav__link">
<span class="md-ellipsis">
Annotating Buffers (.afb)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../benchmarks/" class="md-nav__link">
<span class="md-ellipsis">
Benchmarks
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../flexbuffers/" class="md-nav__link">
<span class="md-ellipsis">
FlexBuffers (Schema-less version)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../contributing/" class="md-nav__link">
<span class="md-ellipsis">
Contributing
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#input-files" class="md-nav__link">
<span class="md-ellipsis">
Input Files
</span>
</a>
<nav class="md-nav" aria-label="Input Files">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#schema-files" class="md-nav__link">
<span class="md-ellipsis">
Schema Files
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#data-files" class="md-nav__link">
<span class="md-ellipsis">
Data Files
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#additional-options" class="md-nav__link">
<span class="md-ellipsis">
Additional options
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/google/flatbuffers/edit/master/docs/source/flatc.md" title="Edit this page" class="md-content__button md-icon" rel="edit">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
</a>
<h1 id="flatbuffers-compiler-flatc">FlatBuffers Compiler (<code>flatc</code>)</h1>
<p>The main compiler for FlatBuffers is called <code>flatc</code> and is used to convert
schema definitions into generated code files for a variety of languages.</p>
<p>After <a href="../building/">building</a> <code>flatc</code>, it is used as follows:</p>
<div class="highlight"><pre><span></span><code>flatc<span class="w"> </span><span class="o">[</span><span class="w"> </span>GENERATOR_OPTIONS<span class="w"> </span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="w"> </span>-o<span class="w"> </span>PATH<span class="w"> </span><span class="o">]</span><span class="w"> </span><span class="o">[</span>-<span class="w"> </span>I<span class="w"> </span>PATH<span class="w"> </span><span class="o">]</span>
<span class="w"> </span>FILES...
<span class="w"> </span><span class="o">[</span><span class="w"> </span>--<span class="w"> </span>BINARY_FILES...<span class="w"> </span><span class="o">]</span>
</code></pre></div>
<ul>
<li>
<p>The <code>GENERATOR_OPTIONS</code> specify the language(s) to compile code for as well as
various features to enable/disable.</p>
</li>
<li>
<p>The <code>-o PATH</code> specifies the path where the generated files are placed. It
defaults to the current path if not specified.</p>
</li>
<li>
<p>The <code>-I PATH</code> specifies the paths where included schema files are located. It
defaults to the current path if not specified.</p>
</li>
</ul>
<h2 id="input-files">Input Files</h2>
<p><code>FILES...</code> specifies one or more schema or data files to process. They are
processed in the order provided.</p>
<h3 id="schema-files">Schema Files</h3>
<p>For schema files, language specifiers indicate what languages to generate code
for.</p>
<ul>
<li><code>--cpp</code>: C++</li>
<li><code>--java</code>: Java</li>
<li><code>--kotlin</code>: Kotlin</li>
<li><code>--csharp</code>: C#</li>
<li><code>--go</code>: Golang</li>
<li><code>--python</code>: Python</li>
<li><code>--js</code>: JavaScript</li>
<li><code>--ts</code>: TypeScript</li>
<li><code>--php</code>: PHP</li>
<li><code>--dart</code>: Dart</li>
<li><code>--lua</code>: Lua</li>
<li><code>--lobster</code>: Lobster</li>
<li><code>--rust</code>: Rust</li>
<li><code>--swift</code>: Swift</li>
<li><code>--nim</code>: Nim</li>
</ul>
<p>Additionally, adding:</p>
<ul>
<li><code>--grpc</code> Will generate RPC stub code for gRPC (not available in all
languages)</li>
</ul>
<h3 id="data-files">Data Files</h3>
<p>If <code>FILES...</code> contain data files, they can be exported to either a binary or
JSON representation.</p>
<ul>
<li><code>--binary</code>, <code>-b</code>: Generate a binary file containing a serialized flatbuffer.</li>
<li><code>--json</code>, <code>-j</code>: Generate JSON file from a serialized flatbuffer.</li>
</ul>
<p>Both options require the corresponding schema file to be included first in the
list of <code>FILES...</code>.</p>
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="to-binary" name="__tabbed_1" type="radio" /><input id="to-json" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="to-binary">To Binary</label><label for="to-json">To JSON</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<p>To serialize the JSON data in <code>mydata.json</code> using the schema <code>myschema.fbs</code>:</p>
<div class="highlight"><pre><span></span><code>flatc<span class="w"> </span>--binary<span class="w"> </span>myschema.fbs<span class="w"> </span>mydata.json
</code></pre></div>
<p>This will generate a <code>mydata_wire.bin</code> file containing the serialized
flatbuffer data.</p>
</div>
<div class="tabbed-block">
<p>To convert the serialized binary flatbuffer <code>mydata.bin</code> using the schema
<code>myschema.fbs</code> to JSON:</p>
<div class="highlight"><pre><span></span><code>flatc<span class="w"> </span>--json<span class="w"> </span>myschema.fbs<span class="w"> </span>mydata.bin
</code></pre></div>
<p>This will generate a <code>mydata.json</code> file.</p>
</div>
</div>
</div>
<h3 id="additional-options">Additional options</h3>
<ul>
<li>
<p><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>.</p>
</li>
<li>
<p><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.</p>
</li>
<li>
<p><code>-M</code> : Print make rules for generated files.</p>
</li>
<li>
<p><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.</p>
</li>
<li>
<p><code>--allow-non-utf8</code> : Pass non-UTF-8 input through parser and emit nonstandard
\x escapes in JSON. (Default is to raise parse error on non-UTF-8 input.)</p>
</li>
<li>
<p><code>--natural-utf8</code> : Output strings with UTF-8 as human-readable strings.
By default, UTF-8 characters are printed as \uXXXX escapes."</p>
</li>
<li>
<p><code>--defaults-json</code> : Output fields whose value is equal to the default value
when writing JSON text.</p>
</li>
<li>
<p><code>--no-prefix</code> : Don't prefix enum values in generated C++ by their enum
type.</p>
</li>
<li>
<p><code>--scoped-enums</code> : Use C++11 style scoped and strongly typed enums in
generated C++. This also implies <code>--no-prefix</code>.</p>
</li>
<li>
<p><code>--no-emit-min-max-enum-values</code> : Disable generation of MIN and MAX
enumerated values for scoped enums and prefixed enums.</p>
</li>
<li>
<p><code>--gen-includes</code> : (deprecated), this is the default behavior.
If the original behavior is required (no include
statements) use <code>--no-includes.</code></p>
</li>
<li>
<p><code>--no-includes</code> : Don't generate include statements for included schemas the
generated file depends on (C++ / Python).</p>
</li>
<li>
<p><code>--gen-mutable</code> : Generate additional non-const accessors for mutating
FlatBuffers in-place.</p>
</li>
<li>
<p><code>--gen-onefile</code> : Generate a single output file for C#, Go, Java, Kotlin and Python.</p>
</li>
<li>
<p><code>--gen-name-strings</code> : Generate type name functions for C++.</p>
</li>
<li>
<p><code>--gen-object-api</code> : Generate an additional object-based API. This API is
more convenient for object construction and mutation than the base API,
at the cost of efficiency (object allocation). Recommended only to be used
if other options are insufficient.</p>
</li>
<li>
<p><code>--gen-compare</code> : Generate operator== for object-based API types.</p>
</li>
<li>
<p><code>--gen-nullable</code> : Add Clang _Nullable for C++ pointer. or @Nullable for Java.</p>
</li>
<li>
<p><code>--gen-generated</code> : Add @Generated annotation for Java.</p>
</li>
<li>
<p><code>--gen-jvmstatic</code> : Add @JvmStatic annotation for Kotlin methods
in companion object for interop from Java to Kotlin.</p>
</li>
<li>
<p><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.</p>
</li>
<li>
<p><code>--cpp-include</code> : Adds an #include in generated file</p>
</li>
<li>
<p><code>--cpp-ptr-type T</code> : Set object API pointer type (default std::unique_ptr)</p>
</li>
<li>
<p><code>--cpp-str-type T</code> : Set object API string type (default std::string)
T::c_str(), T::length() and T::empty() must be supported.
The custom type also needs to be constructible from std::string (see the
--cpp-str-flex-ctor option to change this behavior).</p>
</li>
<li>
<p><code>--cpp-str-flex-ctor</code> : Don't construct custom string types by passing
std::string from Flatbuffers, but (char* + length). This allows efficient
construction of custom string types, including zero-copy construction.</p>
</li>
<li>
<p><code>--no-cpp-direct-copy</code> : Don't generate direct copy methods for C++
object-based API.</p>
</li>
<li>
<p><code>--cpp-std CPP_STD</code> : Generate a C++ code using features of selected C++ standard.
Supported <code>CPP_STD</code> values:</p>
<ul>
<li><code>c++0x</code> - generate code compatible with old compilers (VS2010),</li>
<li><code>c++11</code> - use C++11 code generator (default),</li>
<li><code>c++17</code> - use C++17 features in generated code (experimental).</li>
</ul>
</li>
<li>
<p><code>--object-prefix</code> : Customise class prefix for C++ object-based API.</p>
</li>
<li>
<p><code>--object-suffix</code> : Customise class suffix for C++ object-based API.</p>
</li>
<li>
<p><code>--go-namespace</code> : Generate the overrided namespace in Golang.</p>
</li>
<li>
<p><code>--go-import</code> : Generate the overrided import for flatbuffers in Golang.
(default is "github.com/google/flatbuffers/go").</p>
</li>
<li>
<p><code>--raw-binary</code> : Allow binaries without a file_indentifier to be read.
This may crash flatc given a mismatched schema.</p>
</li>
<li>
<p><code>--size-prefixed</code> : Input binaries are size prefixed buffers.</p>
</li>
<li>
<p><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.</p>
</li>
<li>
<p><code>--oneof-union</code> : Translate .proto oneofs to flatbuffer unions.</p>
</li>
<li>
<p><code>--grpc</code> : Generate GRPC interfaces for the specified languages.</p>
</li>
<li>
<p><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.</p>
</li>
<li>
<p><code>--bfbs-comments</code>: Add doc comments to the binary schema files.</p>
</li>
<li>
<p><code>--conform FILE</code> : Specify a schema the following schemas should be
an evolution of. Gives errors if not. Useful to check if schema
modifications don't break schema evolution rules.</p>
</li>
<li>
<p><code>--conform-includes PATH</code> : Include path for the schema given with
<code>--conform PATH</code>.</p>
</li>
<li>
<p><code>--filename-suffix SUFFIX</code> : The suffix appended to the generated
file names. Default is '_generated'.</p>
</li>
<li>
<p><code>--filename-ext EXTENSION</code> : The extension appended to the generated
file names. Default is language-specific (e.g. "h" for C++). This
should not be used when multiple languages are specified.</p>
</li>
<li>
<p><code>--include-prefix PATH</code> : Prefix this path to any generated include
statements.</p>
</li>
<li>
<p><code>--keep-prefix</code> : Keep original prefix of schema include statement.</p>
</li>
<li>
<p><code>--reflect-types</code> : Add minimal type reflection to code generation.</p>
</li>
<li>
<p><code>--reflect-names</code> : Add minimal type/name reflection.</p>
</li>
<li>
<p><code>--root-type T</code> : Select or override the default root_type.</p>
</li>
<li>
<p><code>--require-explicit-ids</code> : When parsing schemas, require explicit ids (id: x).</p>
</li>
<li>
<p><code>--force-defaults</code> : Emit default values in binary output from JSON.</p>
</li>
<li>
<p><code>--force-empty</code> : When serializing from object API representation, force
strings and vectors to empty rather than null.</p>
</li>
<li>
<p><code>--force-empty-vectors</code> : When serializing from object API representation, force
vectors to empty rather than null.</p>
</li>
<li>
<p><code>--flexbuffers</code> : Used with "binary" and "json" options, it generates
data using schema-less FlexBuffers.</p>
</li>
<li>
<p><code>--no-warnings</code> : Inhibit all warning messages.</p>
</li>
<li>
<p><code>--cs-global-alias</code> : Prepend <code>global::</code> to all user generated csharp classes and structs.</p>
</li>
<li>
<p><code>--json-nested-bytes</code> : Allow a nested_flatbuffer field to be parsed as a
vector of bytes in JSON, which is unsafe unless checked by a verifier
afterwards.</p>
</li>
<li>
<p><code>--python-no-type-prefix-suffix</code> : Skip emission of Python functions that are prefixed
with typenames</p>
</li>
<li>
<p><code>--python-typing</code> : Generate Python type annotations</p>
</li>
<li>
<p><code>--python-decode-obj-api-strings</code> : Decode bytes automaticaly with utf-8</p>
</li>
<li>
<p><code>--file-names-only</code> : Prints out files which would be generated by this command, one per
line, to <code>stdout</code>. No actual files are generated. This is useful for various CI checks.</p>
</li>
</ul>
<p>Additional gRPC options:</p>
<ul>
<li>
<p><code>--grpc-filename-suffix</code>: <code>[C++]</code> An optional suffix for the generated
files' names. For example, compiling gRPC for C++ with
<code>--grpc-filename-suffix=.fbs</code> will generate <code>{name}.fbs.h</code> and
<code>{name}.fbs.cc</code> files.</p>
</li>
<li>
<p><code>--grpc-additional-header</code>: <code>[C++]</code> Additional headers to include in the
generated files.</p>
</li>
<li>
<p><code>--grpc-search-path</code>: <code>[C++]</code> An optional prefix for the gRPC runtime path.
For example, compiling gRPC for C++ with <code>--grpc-search-path=some/path</code> will
generate the following includes:</p>
<div class="highlight"><pre><span></span><code><span class="w"> </span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;some/path/grpcpp/impl/codegen/async_stream.h&quot;</span>
<span class="w"> </span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;some/path/grpcpp/impl/codegen/async_unary_call.h&quot;</span>
<span class="w"> </span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;some/path/grpcpp/impl/codegen/method_handler.h&quot;</span>
<span class="w"> </span><span class="p">...</span>
</code></pre></div>
</li>
<li>
<p><code>--grpc-use-system-headers</code>: <code>[C++]</code> Whether to generate <code>#include &lt;header&gt;</code>
instead of <code>#include "header.h"</code> for all headers when compiling gRPC for
C++. For example, compiling gRPC for C++ with <code>--grpc-use-system-headers</code>
will generate the following includes:</p>
<div class="highlight"><pre><span></span><code><span class="w"> </span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;some/path/grpcpp/impl/codegen/async_stream.h&gt;</span>
<span class="w"> </span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;some/path/grpcpp/impl/codegen/async_unary_call.h&gt;</span>
<span class="w"> </span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;some/path/grpcpp/impl/codegen/method_handler.h&gt;</span>
<span class="w"> </span><span class="p">...</span>
</code></pre></div>
<p>NOTE: This option can be negated with <code>--no-grpc-use-system-headers</code>.</p>
</li>
<li>
<p><code>--grpc-python-typed-handlers</code>: <code>[Python]</code> Whether to generate the typed
handlers that use the generated Python classes instead of raw bytes for
requests/responses.</p>
</li>
</ul>
<p>NOTE: short-form options for generators are deprecated, use the long form
whenever possible.</p>
</article>
</div>
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../building/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Building">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
Building
</div>
</div>
</a>
<a href="../schema/" class="md-footer__link md-footer__link--next" aria-label="Next: Overview">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Overview
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2025 Google
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://github.com/google/flatbuffers" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</a>
<a href="https:///discord.gg/6qgKs3R" target="_blank" rel="noopener" title="" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg>
</a>
<a href="https://twitter.com/dbaileychess" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M357.2 48h70.6L273.6 224.2 455 464H313L201.7 318.6 74.5 464H3.8l164.9-188.5L-5.2 48h145.6l100.5 132.9zm-24.8 373.8h39.1L119.1 88h-42z"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["content.code.annotate", "content.tabs.link", "navigation.expand", "navigation.footer", "header.autohide", "content.action.edit"], "search": "../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../assets/javascripts/bundle.e71a0d61.min.js"></script>
</body>
</html>