#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); } }