Implementation:Alibaba MNN FlatBuffers Monster Generated RS
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Serialization, Code_Generation |
| Last Updated | 2026-02-10 12:00 GMT |
Overview
Generated Rust code for the canonical Monster sample schema, demonstrating FlatBuffers Rust code generation.
Description
monster_generated.rs is the Rust source generated by flatc from the Monster tutorial schema. It defines zero-copy accessor structs and builder helpers for Monster, Weapon, and Vec3 using Rust lifetime annotations for safe buffer access. This file is included in the vendored tree as a reference for the Rust code generation backend.
Usage
Vendored dependency used internally by MNN for model serialization. Not directly imported by end users.
Code Reference
Source Location
- Repository: Alibaba_MNN
- File:
3rd_party/flatbuffers/samples/monster_generated.rs - Lines: 1-507
Signature
// Rust types (shown for reference)
pub struct Monster<'a> { ... }
pub struct MonsterArgs<'a> { ... }
pub struct Weapon<'a> { ... }
pub struct Vec3 { ... }
Import
// Rust import
mod monster_generated;
use monster_generated::my_game::sample::*;
I/O Contract
| Input | Output |
|---|---|
| Rust builder API calls with Monster fields | Serialized Monster FlatBuffer bytes |
| Raw Monster FlatBuffer byte slice | Zero-copy Monster<'a> accessor with lifetime-safe getters
|
Usage Examples
// Rust example
use flatbuffers::FlatBufferBuilder;
use my_game::sample::{Monster, MonsterArgs};
let mut builder = FlatBufferBuilder::new_with_capacity(256);
let name = builder.create_string("Orc");
let monster = Monster::create(&mut builder, &MonsterArgs {
name: Some(name),
hp: 80,
mana: 150,
..Default::default()
});
builder.finish(monster, None);
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment