refactor builder struct

This commit is contained in:
yihaoDeng 2021-12-06 22:34:56 +08:00
parent d266c6f29f
commit 67e40f882c
2 changed files with 12 additions and 5 deletions

View File

@ -16,6 +16,7 @@
#include "index_fst.h"
#include "tcoding.h"
#include "tchecksum.h"
#include "indexInt.h"
static void fstPackDeltaIn(FstCountingWriter *wrt, CompiledAddr nodeAddr, CompiledAddr transAddr, uint8_t nBytes) {
@ -806,6 +807,7 @@ bool fstBuilderInsert(FstBuilder *b, FstSlice bs, Output in) {
fstBuilderInsertOutput(b, bs, in);
return true;
}
indexInfo("key must be ordered");
return false;
}

View File

@ -65,7 +65,7 @@
int main(int argc, char** argv) {
FstBuilder *b = fstBuilderCreate(NULL, 0);
{
std::string str("abc");
std::string str("aaa");
FstSlice key = fstSliceCreate((uint8_t *)str.c_str(), str.size());
Output val = 1;
fstBuilderInsert(b, key, val);
@ -77,10 +77,15 @@ int main(int argc, char** argv) {
//
{
std::string str("adc");
FstSlice key = fstSliceCreate((uint8_t *)str.c_str(), str.size());
Output val = 2;
fstBuilderInsert(b, key, val);
for (size_t i = 1; i < 26; i++) {
std::string str("aaa");
str[2] = 'a' + i ;
FstSlice key = fstSliceCreate((uint8_t *)str.c_str(), str.size());
Output val = 2;
fstBuilderInsert(b, key, val);
}
}
//fstBuilderInsert(b, key1, val2);
fstBuilderFinish(b);