key_selector.h 679 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <util/generic/vector.h>
  3. #include <util/generic/string.h>
  4. #include <util/generic/strbuf.h>
  5. template <class T>
  6. struct TCompactTrieKeySelector {
  7. typedef TVector<T> TKey;
  8. typedef TVector<T> TKeyBuf;
  9. };
  10. template <class TChar>
  11. struct TCompactTrieCharKeySelector {
  12. typedef TBasicString<TChar> TKey;
  13. typedef TBasicStringBuf<TChar> TKeyBuf;
  14. };
  15. template <>
  16. struct TCompactTrieKeySelector<char>: public TCompactTrieCharKeySelector<char> {
  17. };
  18. template <>
  19. struct TCompactTrieKeySelector<wchar16>: public TCompactTrieCharKeySelector<wchar16> {
  20. };
  21. template <>
  22. struct TCompactTrieKeySelector<wchar32>: public TCompactTrieCharKeySelector<wchar32> {
  23. };