flatbuffers架构字段中标记的'hash'的用法是什么?

时间:2018-05-04 06:18:43

标签: c++ c++11 flatbuffers

我正在使用flatbuffers,在其架构中,某些字段可以设置为哈希。例如:

table Person {
  age: int (hash:"fnv1_32" );
}
这是为了什么? 我正在使用

  

flatc --cpp --gen-object-api Person_KeyHashTest.fbs

如何在generate函数中设置'rehash'和'resolver'? 有人可以给我一个简单的例子吗?

1 个答案:

答案 0 :(得分:0)

请参阅https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html

中的hash

它允许您在二进制表示中将字符串转换为整数。 解析器函数允许您指定一种方法来查找您在其他地方创建的对象的哈希值。这允许您执行诸如将一个缓冲区中的对象引用另一个缓冲区中的对象之类的操作。这些功能的实际实现取决于您,它可以是您想要的任何内容。