微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Rust 中使用 flatbuffers `key` 属性来模拟带有 flatbuffers 的 HashMap?

如何解决如何在 Rust 中使用 flatbuffers `key` 属性来模拟带有 flatbuffers 的 HashMap?

我需要在 Rust 中使用 flatbuffers 创建一个 stringstring 的映射,类似于:

pub struct HashMapIndex {
    keyword_by_filter: HashMap<String,String> // filter text -> keyword
}

我发现了一些可以放在数组项上的 key flatbuffers attribute,但它似乎既没有记录也没有显示在示例中:

可用于就地二分查找

table KeywordToFilters {
  filter_text: string (key);
  keyword: string;
}

table Index {
  map: [KeywordToFilters];
}

我如何使用它(按键获取价值)?问题是没有生成类似地图的方法 - 它只是一个向量:

pub map: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a,flatbuffers::ForwardsUOffset<KeywordToFilters<'a >>>>>,

在 Rust 中是否有更有效的方法来使用平面缓冲区?

附注。 flatbuffers crate 版本是 0.8.3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。