#pragma once #include template class TCompactTriePacker { public: void UnpackLeaf(const char* p, T& t) const { NPackers::TPacker().UnpackLeaf(p, t); } void PackLeaf(char* buffer, const T& data, size_t computedSize) const { NPackers::TPacker().PackLeaf(buffer, data, computedSize); } size_t MeasureLeaf(const T& data) const { return NPackers::TPacker().MeasureLeaf(data); } size_t SkipLeaf(const char* p) const // this function better be fast because it is very frequently used { return NPackers::TPacker().SkipLeaf(p); } };