aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/containers/comptrie/make_fast_layout.h
blob: b8fab5d65b8d7a17ca147d286d7e11ec7d2a3f9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include "leaf_skipper.h"
#include <cstddef>

class IOutputStream;

namespace NCompactTrie {
    // Return value: size of the resulting trie.
    size_t RawCompactTrieFastLayoutImpl(IOutputStream& os, const NCompactTrie::TOpaqueTrie& trie, bool verbose);

    // Return value: size of the resulting trie.
    template <class TPacker>
    size_t CompactTrieMakeFastLayoutImpl(IOutputStream& os, const char* data, size_t datalength, bool verbose, const TPacker* packer) {
        TPackerLeafSkipper<TPacker> skipper(packer);
        TOpaqueTrie trie(data, datalength, skipper);
        return RawCompactTrieFastLayoutImpl(os, trie, verbose);
    }

}