Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Alibaba MNN FlatBuffers Monster Generated RS

From Leeroopedia


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